JSON 修复工具上线:在浏览器中自动修好损坏的 JSON
我们刚刚为 JSON Work 上线了一款新工具:JSON 修复工具(JSON Repair Tool)。
很多时候,你从日志、浏览器控制台、第三方后台里复制出来的“JSON”,其实只是 几乎是 JSON——但并不是严格合法的 JSON,例如:
- • 属性之间少了逗号
- • 里面有 JavaScript 风格的注释
// ...、/* ... */
- • 用的是单引号而不是双引号
- •
True/False/NULL等大小写混乱
- • 甚至上述问题混在一块儿
这些场景下,传统的 JSON 校验或美化工具只能告诉你「这里错了」,却帮你 修不回来。JSON 修复工具就是专门为这种“半坏不坏”的 JSON 设计的。
🔧 JSON 修复工具具体做了什么?
这个工具会把一段 无效 JSON 当作输入,尽量把它变成 合法 JSON,同时保证:
- • 全部在浏览器本地处理:不会把你的数据上传到服务器
- • 过程尽量可预期:相同输入 → 相同输出
- • 过程透明:所有自动修复步骤会以列表形式展示出来,方便你审查
当前可以自动修复的问题
目前,JSON 修复工具可以处理这些常见问题:
- • 属性之间缺失逗号
- 例子:
- 修复前:
{
"name": "John",
"age": 30
"city": "New York"
}
- 修复后:
{
"name": "John",
"age": 30,
"city": "New York"
}
- • JavaScript 风格注释
- 同时支持去掉 // 行注释 和 /* 块注释 */
- • 单引号字符串
- 在安全的情况下,把 'value' 转成 "value"
- • 未加引号的 key
- 例如:{ name: "John" } → { "name": "John" }
- • 布尔值 / null 大小写
- 把 True / False / NULL / Null 统一成合法 JSON 字面量
如果你的 JSON 其实本来就是合法的,工具会直接 重新格式化 一遍,并告诉你「原本已有效」。
🧠 修复算法大概怎么工作?
内部实现上,JSON 修复工具会依次执行一串 小而安全的变换,每做一步就尝试一次 JSON.parse:
- 清理前后空白和 BOM
- 去掉 BOM
- 统一换行符
- 删掉注释
- 去除 //... 和 /* ... */
- 尝试补上缺失的逗号
- 如果某一行看起来是「值的结尾」,下一行看起来像是「新的 key」,中间又没有逗号,就自动在前一行尾部加一个逗号
- 去掉尾逗号
- 清理 , } 或 , ] 这种 JSON 不允许的写法
- 规范布尔值和 null 的大小写
- 把单引号字符串转成双引号
- 给未加引号的 key 补上引号
每一步之后都会尝试 JSON.parse。
一旦哪一步之后可以成功解析,我们就 停止继续修改,把结果用标准 JSON 缩进格式输出。
如果试完所有步骤仍然无法解析,我们会:
- • 输出一份已经尽量清理过的文本,方便你手动继续修
- • 返回最后一次
JSON.parse的详细错误信息
- • 保留一份 修复步骤日志(Repair summary),告诉你已经自动修过哪些地方
🖥 常见使用场景
你可以在这里打开这个工具:
- •
/tools/formatters/json-repair(或对应语言前缀下的路径)
几个特别适合用 JSON 修复工具的场景:
1. 调试 API 响应
- • 从浏览器 DevTools 里复制一段“几乎是 JSON 但其实无效”的响应
- • 粘贴到 JSON 修复工具 里
- • 拿到一份正确可解析的 JSON,接着可以:
- 送进验证器(Validator)进一步检查
- 用美化器(Beautifier)整理格式
- 分享给同事排查问题
2. 清理日志里的 JSON 片段
- • 日志里经常会有带注释、带奇怪拼写的 JSON 片段
- • 直接丢进修复工具,让它:
- 去注释
- 修掉明显语法问题
- 把结构整理成更容易阅读的 JSON
3. 与第三方工具对接
- • 有些第三方系统导出的配置文件“像 JSON 但不是 JSON”
- • 可以先用修复工具把它变成严格合法 JSON,再:
- 做 Schema 校验
- 转成 CSV / XML / YAML
- 做静态分析或风格检查
🔒 隐私与本地处理
和 JSON Work 其它工具一样,JSON 修复工具完全遵守「隐私优先」:
- • 所有操作都在浏览器本地完成
- • 不会发起任何带内容的网络请求
- • 没有服务端日志记录你粘贴的数据
这对于以下场景尤其关键:
- • 生产环境的真实数据
- • 日志中可能包含用户隐私或敏感信息
- • 你所在团队/公司对数据合规和隐私有严格要求
🌍 与 JSON Work 生态的联动
JSON 修复工具和站内其它工具配合使用效果会更好:
- • 搭配 JSON 验证器 做语法和结构严格校验
- • 搭配 JSON 美化器 做进一步格式化或压缩
- • 搭配 JSON 树查看器 以树形结构查看修复后的数据
- • 搭配 JSON Diff 工具 对比修复前后的差异
你也会在这些页面的「相关工具」区域看到 JSON 修复工具的入口,方便往返切换。
🚧 限制与后续计划
目前 JSON 修复工具专注于 安全、可预期的修复,所以不会做太激进、可能“猜错你想要什么结构”的修改。
因此,以下情况仍可能需要你手动参与:
- • 大括号 / 中括号缺失导致结构严重破坏
- • 同一段文本存在多种合理解析方式,工具无法确定哪一种是你真正想要的
遇到这类情况时,工具会:
- • 把文本尽量清理干净再交给你
- • 给出最后一次解析的详细错误信息
- • 保留一份已经执行过的修复步骤列表
未来我们计划逐步加入:
- • 可选的 更激进修复模式(需要你显式打开)
- • 更聪明的「缺失括号/大括号」检测与修复建议
- • 修复前后 JSON 的 可视化差异对比
✅ 现在就试试
你可以立刻使用 JSON 修复工具:
- 打开 JSON 修复工具
- 粘贴任意一段坏掉或不合法的 JSON
- 让工具自动进行修复
- 将结果复制或下载到本地
- 继续在验证器、美化器或树查看器里完成后续工作
如果你在实际使用中遇到特殊案例,或者有希望支持的更多修复规则,欢迎随时反馈,我们会根据真实使用场景持续打磨 JSON Work 这套工具。