JSON 常见错误大全

JSON 语法严格,很多在 JavaScript 里「顺手」的写法,放进 JSON 就会报错。下面是最常见的 5 类错误,附错误与正确写法对照,看完能避开 90% 的坑。

错误一:尾逗号(Trailing Comma)

数组或对象的最后一个元素后面多写了一个逗号,这是最高频的错误:

{ "name": "Tom", "age": 18, }        // ❌ 对象尾逗号
[1, 2, 3,]                            // ❌ 数组尾逗号

{ "name": "Tom", "age": 18 }          // ✅ 正确
[1, 2, 3]                             // ✅ 正确

JavaScript 允许尾逗号,所以从 JS 里复制数据到 JSON 时特别容易中招。

错误二:单引号

JSON 的字符串和键只能用双引号,单引号一律非法:

{ 'name': 'Tom' }        // ❌ 单引号
{ "name": "Tom" }        // ✅ 双引号

错误三:注释

JSON 标准不支持任何注释,// 和 /* */ 都会报错:

{
  "name": "Tom"   // 用户姓名        // ❌ 注释
}

想给 JSON 加说明,只能把说明放进字段值,或改用支持注释的 JSON5 格式。

错误四:键未加双引号

对象的键必须是双引号包裹的字符串:

{ name: "Tom" }          // ❌ 键没加引号
{ "name": "Tom" }        // ✅ 正确

错误五:非法值类型

JSON 只认 6 种类型,这些 JavaScript 里的值放进 JSON 都会出问题:

{ "n": NaN }             // ❌ NaN
{ "u": undefined }       // ❌ undefined
{ "fn": function(){} }   // ❌ 函数
{ "d": new Date() }      // ❌ Date 对象

遇到这些值,需要先手动转成 JSON 支持的表示(如把 NaN 转成 null,Date 转成字符串)。

如何快速找出错误

与其逐条肉眼排查,不如用 JSON 在线校验工具 一键检查——粘贴后它会立即解析,自动定位到错误所在的行和列,并告诉你具体原因,几秒就能定位问题。

延伸阅读