跳转到主要内容

校验 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 开始计数,标记解析器停止的位置,这通常紧跟在真正的错误之后,所以也要检查前一个字符。