JSON 智能纠错与格式修复

把从代码或日志里复制来的带注释、单引号、尾逗号、未加引号 key 的伪 JSON,一键转成标准 JSON。

从 JS 代码、日志、聊天记录里拷出来的「JSON」常常不合法:key 没加引号、字符串用单引号、末尾多个逗号、夹着注释,甚至出现 undefined 和 NaN。这些写法在 JavaScript 里能跑,换成 Java、Go、Python 的 JSON 库就直接报错,手工修改既慢又容易漏,本工具可以一次纠正这些偏差。

修复逻辑跑在浏览器本地,粘贴的内部接口报文、配置文件不会离开这台机器,页面也不依赖任何后端接口,离线可用。修复完成后编辑器仍然是普通的文本编辑状态,可以继续手工微调,或者接着做格式化、压缩、Key 排序,处理链路不会被锁死。

能修哪些,不能修哪些

目前覆盖五类问题:// 行注释与 /* */ 块注释、紧跟在 } 或 ] 前面的尾随逗号、单引号包裹的字符串、没有加引号的 key(包括以数字开头的 key)、以及作为值出现的 undefined 与 NaN。不处理的是结构性损坏:两个字段之间缺少逗号分隔、括号不配对、字符串引号没有闭合、内容被截断。这类文本即便套用修复也会解析失败,工具会明确告诉你没有修好,而不是给出一份看起来能用的残缺结果。

修复为什么不会误伤字符串内容

如果只是全文做字符串替换,遇到 https://host//path 这样的地址就会把 // 后面的内容当成注释删掉,遇到值里写着 ", total: 5" 也会被改坏。这个工具的做法是先按引号把文本切成字符串段与代码段:字符串段整体规范化成合法的双引号形式,注释、尾逗号、裸 key 这些规则只作用于字符串之外的代码段,因此 URL、正则片段、含逗号或冒号的文本都不会被破坏。

修复后的结果与注意事项

修复成功时会用 2 空格缩进重新输出,得到的是一份结构清晰的合法 JSON,可以继续用其他功能处理。有两处需要自己确认:被丢弃的注释里往往写着字段含义或取值说明,注释一去掉就无法从文本恢复,重要信息请先另存;字符串里以反斜杠开头的未知转义会被当作普通字符处理,例如 Windows 路径 D:\data 中的 \d 不是合法转义序列,修复后可能变成 D:data,涉及路径的值建议先手工写成双反斜杠。

广告

常见问题

修复会覆盖我的原始文本吗?
只有完全修复成功时才会替换编辑器里的内容。如果尝试之后仍然无法解析,工具会保留你原来的文本,只提示未能修复,避免把半成品结果留在编辑器里让你误以为已经修好。修复前建议先复制一份原文备用。
注释会被保留吗?
不会,注释在修复过程中被直接删除,因为标准 JSON 没有注释语法。如果注释里写着字段含义、单位或取值范围,这些信息在修复后就丢失了,建议先把注释抄到别处,或者把说明改成同一层级下的普通字段再做修复。
修复后中文会不会变成 \uXXXX?
不会。解析之后重新序列化时中文按原字符输出,不会主动转成 Unicode 转义。如果目标系统只接受纯 ASCII 的 JSON,可以在修复之后再用中文转 Unicode 功能处理,顺序反过来也可以。
为什么修好了还是提示存在错误?
说明文本存在结构性损坏,超出了纠错范围:常见的是两个字段之间漏了逗号、括号数量不匹配、字符串引号没有闭合,或者内容在复制时被截断。底部的错误提示会给出具体行号与片段,从那附近开始检查通常就能定位问题。

相关工具

广告