校验 JSON 并找到确切的语法错误
校验器使用浏览器严格的 JSON 解析器处理你的文本。解析失败时,它会指出解析器停止的位置,方便你直接定位错误。
示例演算
末尾逗号
{
"name": "Ada",
"skills": ["math", "logic"],
}无效的JSON (行: 4)
- 解析器消息
- Expected double-quoted property name in JSON at position 50 (line 4 column 1)
- 行
- 4
- 列
- 1
单引号键名
{
"name": "Ada",
'role': "admin"
}无效的JSON (行: 3)
- 解析器消息
- Expected double-quoted property name in JSON at position 21 (line 3 column 3)
- 行
- 3
- 列
- 3
键名未加引号
{
"name": "Ada",
age: 36
}无效的JSON (行: 3)
- 解析器消息
- Expected double-quoted property name in JSON at position 21 (line 3 column 3)
- 行
- 3
- 列
- 3
以上消息是在构建时由 Chrome 和 Edge 所用的 V8 引擎 JSON 解析器生成的。Firefox 和 Safari 的措辞不同,但指出的错误相同。
格式化规则
- 键名和字符串必须使用双引号;单引号和未加引号的单词都会被拒绝。
- 逗号只能用来分隔两个值,因此紧挨在 } 或 ] 之前的逗号属于语法错误。
- 行和列从 1 开始计数,标记解析器停止的位置,这通常紧跟在真正的错误之后,所以也要检查前一个字符。