Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

DevToolbox

一个开发者工具箱 Chrome 扩展:内置容错 JSON 格式化/自动修复、纯文本对比等常用小工具,后续会持续加入更多开发常用功能。

功能

JSON 格式化(容错)

除了标准 JSON,还能处理"差一点才是合法 JSON"的字符串:自动修复常见问题;修不了的会精确指出错在哪一行哪一列。

文本对比

切换到"对比"标签页,左右各粘贴一段任意文本(不限于 JSON、不做格式校验):

  • 行级 LCS 对比,左右分栏展示(类似 GitHub 的 split diff):删除行红色、新增行绿色,另一侧没有对应行的位置显示占位底色
  • 状态栏汇总:N 行新增 / M 行删除 或 ✓ 文本一致
  • 差异行内再标注具体改动的字符(更深的底色)
  • 左右两侧各有独立的复制按钮
  • 粘贴后自动对比,Ctrl/Cmd+Enter 手动触发

格式化 / 压缩

  • 语法高亮(key、字符串、数字、布尔、null 不同颜色)
  • 粘贴后自动格式化,也支持 Ctrl/Cmd + Enter
  • 一键压缩、复制结果

非标准 JSON 自动修复

输入不是标准 JSON 时,会先尝试保守修复,并在输出区顶部列出做了哪些修复:

问题 示例
日志里的双重转义包裹 "{\"a\": 1}"
单引号字符串 {'a': 1}
尾逗号 {"a": [1, 2,],}
无引号的 key {foo: 1}
JS 注释 {// note ... }
Python 字面量 {"a": None, "b": True}
中文引号 {“a”: 1}

输入不是 JSON 也能修复成正确 JSON

两层修复机制:

第一层:常见非标准写法批量修复(单引号、尾逗号、无引号 key、注释、Python 字面量、中文引号、日志双重转义……)

第二层:按报错位置迭代修正 —— 第一层修不好时,解析器精确报出"哪里错了、缺什么",然后自动在出错位置做最小修正(补引号、补 }/]、补冒号、补逗号、转义换行、undefined→null、裸值转字符串、去掉多余字符、错配括号纠正……),修一处再解析一次,循环直到成为合法 JSON。例如:

输入: {'a': undefined, 'b': [1 2
输出: {"a": null, "b": [1, 2]}
修复: 单引号→双引号; undefined→null; 补逗号; 补 ]

所有做过的修复会列在输出区顶部;确实无解时才报错。

精确错误定位

两层修复都用尽仍然失败时,不只是一个笼统报错,而是:

  • 中文错误原因(缺冒号、字符串没闭合、未转义的换行、多余逗号……)
  • 具体行号、列号和出问题的字符
  • 出错行前后上下文 + ^ 箭头指向出错位置

安装

  1. 打开 chrome://extensions/
  2. 开启右上角"开发者模式"
  3. 点击"加载已解压的扩展程序",选择本目录

使用

点击工具栏图标,在新标签页打开工具,粘贴 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   样式

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages