试试:
功能说明
把损坏但可挽救的 JSON 变回合法 JSON。粘贴会被严格解析器拒绝的文本——尾逗号、单引号、未加引号的键、// 或 /* */ 注释、Python 的 True/False/None、复制带入的 BOM 或零宽字符、或一份中途被截断的文档——然后拿回干净、pretty-print 的 JSON。每个触发的修复步骤都会按名称列出,让你清楚看到改了什么、为什么改。如果输入本来就能解析,工具会说明这一点并直接把它 pretty-print。所有操作都在你的浏览器中本地运行;你粘贴的任何内容都不会被发送到别处。
这是任何在语言和工具之间搬运 JSON 的人的日常伴侣:滑进 Python 或 JavaScript 习惯的 LLM 输出、从 notebook 里复制出来的配置文件、在对象中途被截断的日志行。
使用方法
- 把损坏的 JSON 粘贴到损坏的 JSON框中,或点击 Sample 载入一份同时触发多项修复的文档。Clear 清空输入框。
- 点击输入框下方的 chip 试用一个典型场景:trailing comma、single quotes、truncated array、unquoted keys。
- 读取徽章:Repaired(绿色,做了修改)、Valid JSON(绿色,输入本来就能解析)或 Unrepairable(红色,显示解析器错误)。
- 修复成功后,读取已应用的修复(N)——每个改变了你文本的步骤占一条——然后用复制修复后的 JSON取走结果。
- 复制分享链接把你的输入编码进 URL(
?j=...),因此一个链接就能重现精确的视图。
示例
一个尾逗号:
{"host": "localhost", "port": 8080,}
结果:Repaired,应用了 1 项修复(Removed trailing commas),输出:
{
"host": "localhost",
"port": 8080
}
一个 Python 风味的 dict(单引号加 True):
{'name': 'CosmoDev', 'open': True}
结果:Repaired,应用了 2 项修复(Converted single quotes to double quotes、Converted Python constants (True/False/None)),输出:
{
"name": "CosmoDev",
"open": true
}
一个被截断的数组(日志行在对象中途被切断):
{"list": [1, 2,
结果:Repaired,应用了 1 项修复(Closed truncated brackets),输出:
{
"list": [
1,
2
]
}
补充说明
- 步骤顺序: 不可见字符(BOM / 零宽)→ 单引号 → 注释 → 未加引号的键 → Python 常量 → 尾逗号 → 截断的括号。每个步骤只在它改变了一些内容时才触发。
- 修复是尽力而为: 一份在键中途被截断的文档(
{"na)可能以非法标记结尾,保持 Unrepairable——解析器的错误会告诉你位置。修复也绝不发明缺失的数据:一个在数字中途被切断的值保持原样。 ?j=...链接重现精确的视图;非常大的文档会产生很长的 URL。- 私密: 工具 100% 在客户端运行——可以安全处理配置、凭据和 API 载荷。
- 相关工具: JSON Validator、JSON Formatter、JSON Minify。