JSON 修复(修复损坏的 JSON)
修复损坏的 JSON:多余或缺失的逗号、单引号或弯引号、没有引号的键、注释、Python 的 True/None、非数字值、代码围栏,以及被截断的结尾。
修复依据常见错误进行,文本含糊之处只是猜测 — 请对照数据应有的样子检查这些修复。
| 行 | 修复 |
|---|---|
| 2 | 已移除 JSON 外围的 ``` 代码围栏。 |
| 3 | 已在末尾补上缺失的 }(对象被截断了)。 |
| 4 | 已移除一条 // 注释。 |
| 5 | 已给键 name 加上双引号。 |
| 5 | 已把单引号改为双引号。 |
| 6 | 已把 Python 的 True 改为 true。 |
| 7 | 已删除 ] 之前多余的逗号。 |
| 8 | 已把弯引号“ ”改为直双引号。 |
| 9 | 已在成员之间补上缺失的逗号。 |
| 9 | 已把 NaN 改为 null(JSON 没有 NaN 和 Infinity)。 |
| 10 | 已在末尾补上缺失的 }(对象被截断了)。 |
| 10 | 已在末尾补上缺失的 ](数组被截断了)。 |
JSON 会因为一些小问题而损坏:多余的逗号、单引号、没有引号的键、注释、Python 的 True 和 None、NaN、外面包着的代码围栏,或者输出到一半就被截断。严格的解析器会拒绝所有这些情况。本工具以宽松的方式读取文本,修复能修复的部分,输出有效的 JSON,并按行号列出每一处修复,方便你核对修复结果是否符合数据本应有的样子。有效的 JSON 会原样通过。
使用方法
- 粘贴损坏的 JSON——残留的说明文字、
`围栏和 JSONP 包装都没问题。 - 选择缩进或压缩输出。
- 阅读修复列表,并检查存疑的几处(例如字符串内的引号)。
- 复制修复后的 JSON。
计算公式
宽松读取 → 修复后的值 → 严格的 JSON(RFC 8259)→ 用严格解析器检查
可修复的内容:注释(//、/* */、#)、多余和重复的逗号、成员或项之间缺失的逗号、单引号、反引号和弯引号、没有引号的键和文本值、用 = 代替 :、缺失的值(null)、Python 的 True/False/None、undefined、NaN 和 ±Infinity(→ null)、+1、.5、007 和十六进制数、字符串中的原始换行、无效的转义、用 + 连接的字符串、ObjectId("…") 这样的包装、存储在字符串里的 JSON 文档、连在一起的多个值(→ 数组),以及结尾缺失的引号、方括号和花括号。大整数会保留全部位数。
示例
示例外面包着说明文字和代码围栏,含有 // 注释、带单引号值的无引号键、Python 的 True、tags 中多余的逗号、后面没有逗号的“第一位程序员”弯引号、NaN,以及被截断的结尾。结果是一个有效的对象:name "张三"、active true、tags ["数学", "诗歌"]、note "第一位程序员"、score null,以及两个订单,其中第二个被闭合为 {"id": 2, "total": 12}。
常见问题
修复后的 JSON 一定是我想要的吗?
不一定。遇到文本含糊的地方——字符串内的引号、缺失的逗号——工具会做出最可能的选择并列出来。请检查这些行,尤其是来自被截断响应的数据。
为什么 NaN 变成了 null?
JSON(RFC 8259)没有 NaN 或 Infinity;JavaScript 的 JSON.stringify 也会把它们写成 null,所以 null 是标准的替代值。
它会改动有效的 JSON 吗?
不会。如果输入本来就能解析,状态会这样说明,输出只是重新缩进。
我的数据会被上传吗?
不会,修复在你的浏览器中完成。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/json-fixer-tool/
引用此工具
kakaoCalc. (2026, November 8). JSON 修复(修复损坏的 JSON). https://kakao.mobile/zh/tools/json-fixer-tool/
“JSON 修复(修复损坏的 JSON).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/json-fixer-tool/.