JSON 对比工具
并排对比两段 JSON,自动格式化、排序 key,逐行高亮差异。
使用方法
- 将第一段 JSON 粘贴到左侧输入框
- 将第二段 JSON 粘贴到右侧输入框
- 点击「对比」——两侧内容会自动格式化并按 key 排序
- 差异会高亮显示:红色为删除行,绿色为新增行
常见问题
-
key 顺序不同会影响对比吗?
不会。对比前会自动对两侧 JSON 的 key 进行排序,因此 key 顺序不同不会产生差异。
-
支持嵌套对象吗?
支持。格式化和排序后,嵌套结构会被完整对比。
-
颜色代表什么?
红色行仅存在于左侧(原始)输入,绿色行仅存在于右侧(修改后)输入,无颜色表示内容相同。
-
数据会上传到服务器吗?
不会,所有处理均在浏览器本地完成。
为什么需要专门的 JSON 对比工具?
表面上看,JSON 不过是文本文件,用普通的文本比较工具不就够了吗?实际上,JSON 的结构特性让普通文本 diff 在很多场景下力不从心:
键的顺序问题:JSON 规范中,对象的键没有顺序要求。两段语义完全相同的 JSON,可能因为键的排列顺序不同,被文本 diff 标注出大量"差异",产生大量噪音。JSON 专用对比工具会在比较前先对键进行规范化排序,排除顺序干扰。
格式噪音:一段是 2 空格缩进,另一段是 4 空格缩进;一段是压缩的,另一段是展开的。文本 diff 会将所有空白差异都标记出来,而实际上数据内容没有任何变化。
嵌套结构:深层嵌套的 JSON 用文本 diff 查看,改动位置很难一眼定位到具体路径。
典型使用场景
API 调试与版本对比:当接口返回的数据与预期不符时,将实际响应与期望响应进行对比,精确定位哪个字段发生了变化。
配置文件管理:服务配置升级后,对比新旧版本的 config.json,确认只有预期的字段发生了变更,没有意外改动。
数据库记录追踪:某些系统以 JSON 格式存储对象历史版本(如审计日志),对比两个版本可以快速了解数据的演变过程。
代码评审辅助:在 PR 中涉及 JSON Schema 或 OpenAPI 规范变更时,用 JSON diff 能更清晰地呈现接口变化。
如何读懂对比结果
本工具使用标准的 diff 颜色约定:
- 红色行:仅存在于左侧(原始版本),表示被删除或修改前的内容
- 绿色行:仅存在于右侧(新版本),表示新增或修改后的内容
- 无色行:两侧相同,未发生变化
一对紧邻的红色行和绿色行,通常代表同一个字段的值发生了修改。