实测 · JSON 排错

JSON 报错怎么修:4 个真实错误和修复前后

接口返回一坨、格式化就报错?下面是 Python json 解析器的真实错误信息:先看行列,再看前一个字符,通常 30 秒能定位。

样本说明:错误信息由 Python 3 的 json 解析器实际输出;不同语言/库的文案不同,但原因一致。示例不含真实接口数据。
错误真实报错原因修复
尾逗号Expecting property name enclosed in double quotes: line 1 column 8 (char 7)最后一个字段后多了逗号删掉 ,
单引号Expecting property name enclosed in double quotes: line 1 column 2 (char 1)JSON 只认双引号改成 "a"
key 没引号Expecting property name enclosed in double quotes: line 1 column 2a 不是合法 key改成 "a"
尾随文本Extra data: line 1 column 9 (char 8)JSON 结束后还有内容删掉 trailing

修复前后

尾逗号

// 错
{"a": 1,}
// 对
{"a": 1}

单引号

// 错
{'a': 1}
// 对
{"a": 1}

key 没引号

// 错
{a: 1}
// 对
{"a": 1}

尾随文本

// 错
{"a": 1} trailing
// 对
{"a": 1}

30 秒定位顺序

1. 看行列

先跳到报错行/列,不要从头逐字读。

2. 看前一个字符

尾逗号、缺引号、缺括号,错误位置通常在前一个字符附近。

3. 格式化再看

用 JSON 格式化/校验工具,先修语法,再管字段类型。

4. 修完再验证

重新解析通过,再检查业务字段/类型是否符合接口。

不要这样做

用哪个工具

JSON 格式化

格式化/压缩/报错定位

打开 →

CSV/JSON

转换时保留字段类型

打开 →

JSON 转 TypeScript

生成类型后再补运行时校验

打开 →

常见问题

报错列数从 0 还是 1 开始?

Python 的 json 报错列从 1 开始;不同库可能不同,以报错文案为准。

JSON 能写注释吗?

标准 JSON 不支持注释;需要注释用 JSON5/YAML,或把说明放外部。

格式化后字段顺序会变吗?

可能变;JSON 对象本身无序,不要依赖字段顺序,依赖 key。

示例日期:2026-10-29 · 错误信息来自 Python json 解析器;示例不含真实接口数据。