修复 JSON Unexpected Token 错误
Unexpected token 表示严格 JSON 解析器遇到了一个在合法 JSON 该位置不能出现的字符。
Unexpected token 是什么意思
JSON 解析器从左到右读取文档。当它报 Unexpected token 时,说明它在那个位置遇到的字符不符合 JSON 语法。报告中的字符是个线索,但真正的错误往往就在它之前。
常见 token 与对应原因
出现问题的 token 往往指向 JavaScript 语法,或从近似 JSON 的源里复制过来的文本,本质上不是严格 JSON。
- Unexpected token ' 通常意味着单引号字符串或键应该改用双引号
- Unexpected token , 通常是出现了尾随逗号
- Unexpected token / 通常是 JavaScript 注释被复制进了 JSON
- Unexpected token T、F 或 N 通常是 True、False 或 None 应该改成 true、false 或 null
- Unexpected token after JSON value 通常是 JSON 文档结束后还多了一段文本
出错示例
{ name: 'Ada', active: True, }
修复后的 JSON
{ "name": "Ada", "active": true }
修复流程
把 payload 贴到 JSON Fix,点 Repair & Format,再点 Validate。如果错误还在,看准确的行列位置,并检查报错 token 紧前面的字符。
相关深度阅读
下面每篇都针对某一种具体的 Unexpected token 变体,配有出错/修复示例和分步骤的处理方法。
JSON 修复指南
主题中心
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
具体指南
- 如何解码 Base64 字符串(以及 JWT Payload)
- URL 编码:百分号编码查询参数与路径
- 将 YAML 转为 JSON(并避免缩进错误)
- 将 JSON 转为 CSV:把对象数组扁平化
- 将 JSON 转为 XML:根元素、属性与数组
- 将 JSON 转义为字符串字面量(并解码双重编码的 JSON)
- 修复 JSON 中的尾随逗号
- 修复 JSON 中的单引号
- 修复 JSON 中未加引号的键
- 修复 LLM 输出的 JSON
- 修复 JSON 解析错误:Expected Property Name
- JSON 与 JavaScript 对象字面量的区别
- 在发起 API 请求前校验 JSON
- JSON 格式化器 vs JSON 修复工具
- JSON 转 JavaScript 对象转换器