一个开发者工具箱 Chrome 扩展:内置容错 JSON 格式化/自动修复、纯文本对比等常用小工具,后续会持续加入更多开发常用功能。
除了标准 JSON,还能处理"差一点才是合法 JSON"的字符串:自动修复常见问题;修不了的会精确指出错在哪一行哪一列。
切换到"对比"标签页,左右各粘贴一段任意文本(不限于 JSON、不做格式校验):
- 行级 LCS 对比,左右分栏展示(类似 GitHub 的 split diff):删除行红色、新增行绿色,另一侧没有对应行的位置显示占位底色
- 状态栏汇总:
N 行新增 / M 行删除或✓ 文本一致 - 差异行内再标注具体改动的字符(更深的底色)
- 左右两侧各有独立的复制按钮
- 粘贴后自动对比,
Ctrl/Cmd+Enter手动触发
- 语法高亮(key、字符串、数字、布尔、null 不同颜色)
- 粘贴后自动格式化,也支持
Ctrl/Cmd + Enter - 一键压缩、复制结果
输入不是标准 JSON 时,会先尝试保守修复,并在输出区顶部列出做了哪些修复:
| 问题 | 示例 |
|---|---|
| 日志里的双重转义包裹 | "{\"a\": 1}" |
| 单引号字符串 | {'a': 1} |
| 尾逗号 | {"a": [1, 2,],} |
| 无引号的 key | {foo: 1} |
| JS 注释 | {// note ... } |
| Python 字面量 | {"a": None, "b": True} |
| 中文引号 | {“a”: 1} |
两层修复机制:
第一层:常见非标准写法批量修复(单引号、尾逗号、无引号 key、注释、Python 字面量、中文引号、日志双重转义……)
第二层:按报错位置迭代修正 —— 第一层修不好时,解析器精确报出"哪里错了、缺什么",然后自动在出错位置做最小修正(补引号、补 }/]、补冒号、补逗号、转义换行、undefined→null、裸值转字符串、去掉多余字符、错配括号纠正……),修一处再解析一次,循环直到成为合法 JSON。例如:
输入: {'a': undefined, 'b': [1 2
输出: {"a": null, "b": [1, 2]}
修复: 单引号→双引号; undefined→null; 补逗号; 补 ]
所有做过的修复会列在输出区顶部;确实无解时才报错。
两层修复都用尽仍然失败时,不只是一个笼统报错,而是:
- 中文错误原因(缺冒号、字符串没闭合、未转义的换行、多余逗号……)
- 具体行号、列号和出问题的字符
- 出错行前后上下文 +
^箭头指向出错位置
- 打开
chrome://extensions/ - 开启右上角"开发者模式"
- 点击"加载已解压的扩展程序",选择本目录
点击工具栏图标,在新标签页打开工具,粘贴 JSON 即可。
manifest.json 扩展清单(MV3)
src/js/background.js 点击图标打开工具页
src/js/json-parser.js 容错修复 + 报错驱动的自动修正 + 带位置信息的严格解析器(核心)
src/js/diff.js 行级 LCS 文本 diff
src/js/formatter.js UI 逻辑(高亮、错误视图、diff 视图、快捷键)
src/html/formatter.html 页面结构
src/css/formatter.css 样式