JSON 常见错误及修复方法

汇总10种最常见的JSON语法错误,提供详细的错误示例、原因分析和修复方法。 大部分错误可以使用我们的工具自动修复。

错误类型

1

对象末尾多余的逗号

支持自动修复
原因分析
JSON 标准不允许在对象或数组的最后一个元素后有逗号。这是从 JavaScript 继承来的习惯,但在 JSON 中是非法的。
错误示例
{
  "name": "John",
  "age": 30,
}
正确示例
{
  "name": "John",
  "age": 30
}
2

未加引号的属性名

支持自动修复
原因分析
JSON 要求所有属性名(key)必须用双引号包裹。这是 JSON 与 JavaScript 对象的重要区别。
错误示例
{
  name: "John",
  age: 30
}
正确示例
{
  "name": "John",
  "age": 30
}
3

使用单引号而非双引号

支持自动修复
原因分析
JSON 标准规定字符串必须使用双引号,单引号在 JSON 中是无效的。
错误示例
{
  'name': 'John',
  'age': 30
}
正确示例
{
  "name": "John",
  "age": 30
}
4

数字前导零

支持自动修复
原因分析
JSON 不允许数字有前导零(除了 0 本身),这会被误解为八进制数。
错误示例
{
  "price": 0123,
  "year": 007
}
正确示例
{
  "price": 123,
  "year": 7
}
5

JSON 中包含注释

支持自动修复
原因分析
标准 JSON 不支持注释(// 或 /* */)。如果需要说明,可以将注释作为字符串属性。
错误示例
{
  // 用户信息
  "name": "John", /* 姓名 */
  "age": 30
}
正确示例
{
  "name": "John",
  "age": 30
}
6

未转义的特殊字符

支持自动修复
原因分析
JSON 字符串中的反斜杠和双引号等特殊字符必须转义。
错误示例
{
  "path": "C:\Users\John",
  "text": "He said "Hello""
}
正确示例
{
  "path": "C:\\Users\\John",
  "text": "He said \"Hello\""
}
7

使用 undefined

支持自动修复
原因分析
JSON 不支持 undefined 值。应该使用 null 表示空值,或者省略该属性。
错误示例
{
  "name": "John",
  "age": undefined
}
正确示例
{
  "name": "John",
  "age": null
}
8

使用 NaN 或 Infinity

支持自动修复
原因分析
JSON 标准不支持 NaN、Infinity 等特殊数值。可以用 null 或字符串表示。
错误示例
{
  "temperature": NaN,
  "infinity": Infinity
}
正确示例
{
  "temperature": null,
  "infinity": null
}
9

数组末尾多余的逗号

支持自动修复
原因分析
与对象一样,数组的最后一个元素后也不能有逗号。
错误示例
{
  "tags": ["json", "format", "tool",]
}
正确示例
{
  "tags": ["json", "format", "tool"]
}
10

缺少闭合括号或引号

原因分析
每个开括号必须有对应的闭括号,每个双引号必须成对出现。
错误示例
{
  "name": "John",
  "tags": ["json", "tool"
}
正确示例
{
  "name": "John",
  "tags": ["json", "tool"]
}

使用自动修复工具

我们的工具可以自动识别并修复上述大部分错误(标记为"支持自动修复"的错误)。 只需粘贴您的JSON,点击"修复"按钮即可。

打开工具立即修复

预防 JSON 错误的最佳实践

使用 JSON 验证工具

在提交或使用JSON数据前,先用在线工具验证格式是否正确。

使用编辑器插件

VS Code、WebStorm等编辑器都有JSON语法高亮和错误提示插件。

遵循命名规范

使用有意义的属性名,保持一致的命名风格(camelCase或snake_case)。

定期格式化代码

保持JSON代码的良好格式,便于阅读和发现错误。