SyntaxError: Unterminated string in JSON at position N 表示解析器开始读一个字符串(看到一个开头的 "),然后在找到收尾的 " 之前就走到了输入的末尾 —— 或者撞上了换行。字符串没合上。下面讲讲为什么会这样,以及怎么修。
我遇到的是哪种字符串错误?
- Unterminated string —— 字符串以
"起头但没闭合。 - Bad control character —— 未转义的原始 tab/换行/空字节出现在字符串内部。
- Bad escaped character —— 一个
\后面跟着 JSON 不允许的东西(比如\x、Windows 路径)。
错误长什么样
// V8 (Chrome / Node / Edge)
SyntaxError: Unterminated string in JSON at position 27
// Firefox
SyntaxError: JSON.parse: unterminated string at line 2 column 10 of the JSON data
// Safari
SyntaxError: JSON Parse error: Unterminated string报的位置指向(或紧贴在)那个没合上的字符串开头的引号 —— 从那里往后看。