toolgarden.xyz
EN
JSON 语法错误修复Unexpected tokenJSON 修复

常见 JSON 错误及修复方法

按可重复的顺序诊断尾逗号、引号问题、Unexpected token、无效转义、数据截断和 Schema 失败。

ToolGarden 推荐的工具优先在浏览器本地运行,文件和文本不必上传到服务器,适合更注重安全隐私的日常处理。

发布于 2026年7月20日约 8 分钟阅读作者 ToolGarden

JSON 错误信息经常指向解析器放弃的位置,而不是错误真正开始的位置。最快的修复方式,是先给失败分类,再修改文档。

首先确认输入完整且确实是 JSON,然后把严格语法问题与 JSONC 或 JSON5、传输失败、编码问题和 Schema 不匹配分开。这样可以避免随机改动掩盖原始原因。

逗号或括号附近出现 Unexpected token

在 } 或 ] 前的尾逗号可以出现在部分 JavaScript 场景中,但严格 JSON 不允许。删除它后,再检查前一个属性是否缺少值。意外的结束括号也可能说明更早的对象或数组关闭顺序错误。

单引号和未加引号的 key

JavaScript 对象字面量和 JSON5 可以使用 JSON.parse 会拒绝的语法。应把单引号字符串转换为正确转义的双引号字符串,并为每个对象 key 加双引号。当值中可能出现撇号时,不要直接全局替换。

注释和控制字符

严格 JSON 不允许单行或块注释。字符串中的真实换行、Tab 和部分控制字符必须转义。如果注释有意义,应把源文件保留为 JSONC,并为 API 生成严格 JSON 产物。

被当作 JSON 的 HTML 或空响应

常见的“Unexpected token <”通常说明服务端返回了 HTML 登录页或错误页。Unexpected end 可能表示响应为空或被截断。修改 payload 前先检查状态码、Content-Type、重定向、正文长度和网络失败。

语法有效但数据错误

如果解析成功但应用拒绝数据,应检查 Schema。字符串和数字不能随意互换,null 与属性缺失不同,数组元素可能要求统一类型,日期也只是普通字符串,除非应用进一步验证格式。

可重复的修复顺序

保留原始响应,检查传输元数据,识别 JSON 方言,利用错误位置格式化,只修复已知语法问题,验证结果,并把修复输出与源文件对比。生产环境应修复数据生产方,而不是永久在下游修补错误 API 数据。

总结

大多数 JSON 失败可以归为几类:方言不匹配、分隔符或引号错误、字符串转义无效、服务端返回非 JSON、内容截断或 Schema 不匹配。先判断类别,修复最早的原因,并保留原始输入用于对比。

常见问题

Q.JSON 中 Unexpected token < 是什么意思?

通常表示响应以 HTML 开头,例如登录页、代理错误或服务端错误文档。修改解析代码前先检查 HTTP 状态和 Content-Type。

Q.JSON 自动修复可以用于生产环境吗?

更好的做法是修复生产方。自动修复可能掩盖契约失败或改变有歧义的输入,更适合调查、迁移或经过人工复核的受控导入。