JSON 对比工具

并排对比两段 JSON,自动格式化、排序 key,逐行高亮差异。

使用方法

  1. 将第一段 JSON 粘贴到左侧输入框
  2. 将第二段 JSON 粘贴到右侧输入框
  3. 点击「对比」——两侧内容会自动格式化并按 key 排序
  4. 差异会高亮显示:红色为删除行,绿色为新增行

常见问题

  • 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 颜色约定:

  • 红色行:仅存在于左侧(原始版本),表示被删除或修改前的内容
  • 绿色行:仅存在于右侧(新版本),表示新增或修改后的内容
  • 无色行:两侧相同,未发生变化

一对紧邻的红色行和绿色行,通常代表同一个字段的值发生了修改。