JSON 报错通常不是“整份数据都坏了”,而是解析器在某个字符处无法继续。最有效的处理方式是先确认输入确实是严格 JSON,修复第一个语法错误,再重新校验,而不是一次改动整段内容。

先分清 JSON 和 JavaScript 对象

JSON 是一种严格的数据交换格式,不等同于 JavaScript 对象字面量。属性名和字符串必须使用双引号;标准 JSON 不接受注释、尾随逗号、单引号、undefinedNaN 或函数。某段内容能写进 JavaScript 源码,不代表它能被 JSON.parse 或接口服务端接受。

错误写法
{ name: 'ToolJSON', enabled: true, }
正确写法
{ "name": "ToolJSON", "enabled": true }
JSONC、JSON5 不是标准 JSON
部分编辑器和配置工具支持带注释的 JSONC 或更宽松的 JSON5,但 API 请求体通常按标准 JSON 解析。发送前应确认接收方明确支持哪种格式。

6 类最常见的 JSON 格式错误

1. 属性名或字符串没有使用双引号

属性名不能省略引号,也不能用单引号代替。字符串内部如果包含双引号,需要写成 \",否则解析器会把字符串提前结束。

2. 最后一项后面多了逗号

错误写法
{
  "name": "ToolJSON",
}
正确写法
{
  "name": "ToolJSON"
}

对象最后一个属性、数组最后一个元素后面都不能保留逗号。这类错误常见于从 JavaScript 配置复制到 JSON 请求体时。

3. 反斜杠、换行或引号没有正确转义

JSON 字符串里的反斜杠本身需要转义。路径可写成 C:\\temp\\data.json;字符串中的换行应写成\n,不能直接插入未转义的控制字符。

4. 括号没有配对,或层级提前结束

对象使用花括号,数组使用方括号。嵌套较深时,先格式化已有的合法片段,再从内层向外核对括号;不要只数括号数量,还要确认关闭顺序正确。

5. 使用了 JSON 不支持的值

JSON 值只能是字符串、数字、对象、数组、truefalsenull。需要表达“没有值”时使用null,不要使用 undefined;日期也通常以双方约定的字符串格式传递。

6. JSON 前后混入了其他文本

一份 JSON 文档只能有一个顶层值。日志前缀、Markdown 代码围栏、接口状态说明,或连续粘贴的两个对象都会导致解析失败。先只保留真正的数据部分再校验。

从报错到可复现结果的 4 步流程

  1. 1
    保留原始输入
    先复制一份原始响应或请求体,避免修复过程中丢失现场;同时记录接口、操作步骤和错误信息。
  2. 2
    校验第一个语法错误
    把数据粘贴到 JSON 格式化工具,点击“校验”,根据错误位置检查附近的引号、逗号和括号。
  3. 3
    每修一处就重新校验
    解析器通常只报告当前遇到的第一个错误。修复后再次校验,直到可以正常格式化,再检查字段和值是否仍符合预期。
  4. 4
    脱敏后分享最小复现
    删除令牌、Cookie、手机号和客户数据,只保留触发问题所需的最少字段,再生成分享链接交给协作者复现。
实操案例

接口请求在浏览器里能看懂,服务端却返回 400

前端同事手写了一段请求体,其中属性名未加引号,备注文本包含未转义的双引号,最后一项还保留了逗号。
  1. 1.先把原始请求体另存一份,再粘贴到校验工具,不直接在生产请求中反复试改。
  2. 2.按校验顺序补上属性名双引号、转义备注中的引号,并删除最后一个属性后的逗号。
  3. 3.格式化后对照接口文档检查字段名和类型,最后用脱敏后的最小对象生成分享链接。
得到什么:语法错误和字段约束被拆开处理,协作者可以复现同一份最小请求,而不需要接触真实用户数据。
分享链接不是保密存储
JSON 格式化工具的分享链接会把当前输入、输出和设置编码进 URL 参数。生成链接前必须移除 API Key、访问令牌、Cookie、身份证号等敏感信息;私密数据不应通过链接传播。

语法正确后,还要检查数据结构

JSON 校验通过,只说明语法可解析,不代表字段名、类型和业务约束正确。例如接口要求数字时传入字符串,或漏掉必填字段,仍可能返回 400。 结构稳定的接口可以继续使用 JSON Schema 工具 检查类型与必填项;需要迁移配置时,可用JSON 转换工具 在常见格式之间转换并复查结果。

能力免费版Pro
格式化、压缩与语法校验本地完成本地完成
键名排序、复制与下载支持支持
分享链接恢复现场支持支持
AI 修复语法问题直接生成修复结果
结构分析与字段说明生成分析结果
Schema 与类型定义一键生成

升级 Pro,继续修复和理解复杂 JSON

PRO

在本地校验基础上,生成修复结果、字段说明和 Schema 草稿,再由你核对后用于联调或文档。

  • 生成 1 份 JSON 语法修复结果
  • 输出字段说明与关键路径 2 类结构信息
  • 生成 JSON Schema 与 TypeScript 类型定义 2 种产物

提交或分享前的检查清单

  • 确认输入只有一个顶层 JSON 值,没有日志、注释或代码围栏;
  • 先通过语法校验,再依据接口文档或 Schema 检查字段与类型;
  • 对照原始数据确认格式化没有掩盖空值、重复键或单位问题;
  • 分享前删除密钥、令牌、个人信息和不必要的业务数据。

常见问题

JSON 可以使用单引号吗?

标准 JSON 不可以。属性名和字符串都必须使用双引号。单引号可以出现在某些编程语言的字符串或 JavaScript 对象字面量中,但提交为 JSON 请求体前必须转换。

为什么这段内容在 JavaScript 里能运行,JSON 校验却失败?

JavaScript 对象字面量允许更多语法,例如未加引号的属性名;部分环境还接受单引号、注释和尾随逗号。JSON 的语法范围更小,跨系统传输时应按标准 JSON 输出。

为什么修复一个错误后又出现新的错误?

多数解析器在遇到第一个无法继续的位置时就停止,因此一次通常只暴露最前面的错误。按顺序修复并重新校验是正常流程,也能避免同时改动多处导致数据含义变化。

JSON 校验通过就能直接提交接口吗?

不一定。校验通过只代表语法合法;接口还可能要求特定字段、数据类型、枚举值和日期格式。提交前应继续对照接口文档,或使用 JSON Schema 检查结构约束。

JSON 分享链接可以发送真实接口数据吗?

不建议直接发送。分享参数会携带当前输入、输出和设置,接收链接的人能够还原内容。应先制作脱敏的最小复现,删除令牌、Cookie、个人信息和客户业务数据。

先打开 JSON 格式化工具 试用内置错误示例;如果后续要把数据做成图表,可继续阅读数据图表分析与汇报指南,或回到 在线工具集首页 查找其他开发工具。