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 在线校验工具 一键检查——粘贴后它会立即解析,自动定位到错误所在的行和列,并告诉你具体原因,几秒就能定位问题。

延伸阅读

常见问题

JSON 最常见的错误是什么?

尾逗号(Trailing Comma)最高频——数组或对象最后一个元素后面多写逗号。JavaScript 允许尾逗号,所以从 JS 复制数据时特别容易中招。

JSON 能用单引号吗?

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

JSON 支持注释吗?

不支持。JSON 标准不允许任何注释,// 和 /* */ 都会报错;想加说明只能放进字段值或改用 JSON5。

JSON 里能写 NaN、undefined 吗?

不能。JSON 只认 6 种类型,NaN、undefined、函数、Date 对象都需要先转成 JSON 支持的表示。