← 返回工具指南
工具指南JSON开发工具接口调试格式化工具

JSON 格式化和校验怎么看?常见 JSON 报错原因与排查方法

JSON 报错看不懂?这篇整理逗号、引号、转义、数组对象结构、接口返回和配置文件里的常见 JSON 错误,并提供在线格式化校验方法。

打开配套工具 →

JSON 是接口、配置文件、前端状态、日志里最常见的数据格式之一。它看起来简单,但一旦报错,很多人只看到一句 Unexpected token,不知道该改哪里。

这篇讲清楚 JSON 格式化和校验时最常见的问题:逗号、引号、转义、对象数组结构,以及怎么用 JSON 格式化 / 校验工具 快速定位。


JSON 最容易错在哪里?

先看一个错误示例:

json已剪下 ✓
{
  name: "海豹工具箱",
  "url": "https://flooc.com/tools",
  "tags": ["json", "tool",],
}

这里至少有三个问题:

  1. name 没有用双引号包起来。
  2. 数组最后一个元素后面多了逗号。
  3. 对象最后一个字段后面也多了逗号。

JavaScript 对象可以更宽松,但标准 JSON 不行。很多 JSON 报错,都是把 JavaScript 对象写法当成 JSON 了。


常见 JSON 错误清单

错误类型错误写法正确写法
key 没加双引号{name: "A"}{"name": "A"}
使用单引号{'name': 'A'}{"name": "A"}
多余尾逗号{"a": 1,}{"a": 1}
字符串换行"hello\n 直接断行使用 \\n
注释// commentJSON 不支持注释
值写成 undefined{"a": undefined}null 或删除字段

如果你从代码里复制对象,最常见的问题就是:单引号、注释、尾逗号和未加引号的 key。


格式化和校验有什么区别?

格式化 是把合法 JSON 排版得更容易阅读,例如缩进、换行、排序。

校验 是判断它是不是合法 JSON。如果本身不合法,就无法格式化,只能先修语法错误。

所以工具的使用顺序一般是:

  1. 粘贴 JSON。
  2. 先看是否有解析错误。
  3. 如果有错误,根据行列号定位。
  4. 修好后再格式化或压缩。

JSON 格式化 / 校验工具 会在本地解析 JSON,并显示错误、层级和字段统计,适合接口调试时快速看结构。


接口返回 JSON 怎么看?

接口返回很长时,不要直接肉眼扫。建议先看三件事:

例如:

json已剪下 ✓
{
  "code": 0,
  "message": "ok",
  "data": {
    "items": [
      {"id": 1, "name": "JSON 工具"}
    ]
  }
}

这个结构里,真正列表在 data.items。如果前端渲染失败,应该检查读取路径是不是写错,而不是只看接口是否 200。


JSON 字符串转义怎么处理?

有时候你拿到的不是 JSON,而是「JSON 字符串」,例如:

json已剪下 ✓
"{\"name\":\"海豹工具箱\",\"url\":\"https://flooc.com/tools\"}"

这种内容外层本身是一个字符串,里面的引号被转义了。它需要先反转义,再当 JSON 解析。

这类问题可以用 JSON 字符串转义 / 反转义工具 处理,再回到 JSON 格式化 / 校验工具 查看结构。


JSON 很大时怎么排查?

大型 JSON 不建议从头看到尾。可以这样做:

  1. 先格式化,确认层级。
  2. 折叠大数组,只看第一条。
  3. 搜索关键字段。
  4. 对比正常样本和异常样本。
  5. 如果要取字段,用 JSONPath 测试器 验证路径。

如果是接口联调,最好保存一份「正常返回」和「异常返回」,用 文本 Diff 工具 对比差异。


常见问题

JSON 可以写注释吗?

标准 JSON 不支持注释。如果你在配置文件里看到注释,那可能是 JSONC、YAML 或某个工具自己的扩展格式。

JSON key 必须双引号吗?

是的,标准 JSON 的 key 必须使用双引号。单引号和不加引号都不合法。

为什么浏览器控制台能接受,接口却不行?

因为浏览器控制台里写的是 JavaScript 对象,不一定是标准 JSON。接口、配置和数据交换通常要求严格 JSON。

格式化会上传数据吗?

海豹工具箱的 JSON 工具 在浏览器本地处理文本,适合处理接口返回、配置片段和调试数据。


小结

JSON 报错多数不是复杂问题,而是格式规则没对齐:双引号、尾逗号、注释、转义和层级路径。

排查时先用 JSON 格式化 / 校验工具 确认语法,再根据需要使用 JSONPath 测试器JSON 转 TypeScript 类型JSON Schema 校验器 做进一步检查。