切换工具

JSON 对比

结构化对比两段 JSON,忽略键顺序,逐条列出新增、删除与变更,支持忽略数组顺序。

左侧 / 原始
0 chars · 1 lines
右侧 / 目标
0 chars · 1 lines

两侧均填入合法 JSON 后开始对比。

使用说明

用途

JSON 在线对比工具,可视化展示两份 JSON 数据的差异,按字段路径列出新增(绿)、删除(红)、修改(黄)。支持深度嵌套对象和数组对比,数组元素按位置或按 key 匹配两种策略。常用于 API 版本对比、配置漂移检查、CI 输出对比、数据迁移验证、生产环境 vs 测试环境差异定位。所有对比在浏览器本地完成,敏感数据不会上传。

操作步骤

  1. 左右两栏分别粘贴或拖入两份 JSON(A / B 版本)
  2. 点「对比」工具按字段路径递归对比所有节点
  3. 结果区域显示差异树:绿色新增、红色删除、黄色修改
  4. 点差异节点跳转到源 JSON 对应位置
  5. 数组对比策略可选:按位置(index)或按 key(指定字段如 id / name)
  6. 过滤选项:只看修改 / 只看新增 / 只看删除
  7. 导出 diff 报告 JSON 或可读的文字摘要
  8. 深层嵌套支持「折叠相同节点」聚焦差异

常见问题

两个数组顺序不同但元素相同,会被认为不同吗?
默认按位置(index)对比时会判定为不同;切换到「按 key 对比」选定一个稳定字段(如 id),工具会先按 key 排序再对比,顺序无关。
浮点数 0.1 + 0.2 在两份 JSON 里一个是 0.3 一个是 0.30000000000000004 会报差异吗?
默认严格对比会报差异。可勾选「数字容差对比」设置精度(如 1e-9),小于容差的差异视为相等。这对处理 IEEE 754 浮点误差很有用。
JSON 里有时间戳 / 日期字符串,能忽略时间秒级差异吗?
可在「字段过滤」里指定路径(如 user.createdAt)的对比规则:忽略、字符串相等、日期等价。日期等价模式会把"2026-01-01T00:00:00Z"和"2026-01-01T00:00:00.000Z"视为相同。
大文件(几十兆)能对比吗?
工具用 Worker 并行解析两份 JSON 再做 diff,几十兆 JSON 在 4GB 内存浏览器里可正常处理。超过 100MB 建议先抽样关键字段对比,避免 UI 卡顿。
能对比 JSON Schema 本身吗?
可以。Schema 也是 JSON,正常对比即可。Schema 对比特别适合检查 API 升级时 required 字段、enum 值、type 是否破坏了向后兼容。

应用场景

  • API 版本回归:升级后接口返回值和升级前对比,确认有没有意外字段缺失
  • 配置漂移检查:测试环境和生产环境的同一份配置 JSON diff,定位漂移项
  • 数据迁移验证:迁移前导出旧库数据,迁移后导出新库数据,对比确保完整
  • CI 输出对比:自动化测试输出 JSON 结果,和基准对比看回归
  • 生产 vs 测试:同一接口在两个环境返回不同,diff 定位是数据还是逻辑差异

适用场景

API 升级回归测试、配置漂移定位、数据迁移验证、CI 输出对比、多环境数据差异分析。后端、测试、运维常用。深度递归对比、数组按 key 匹配、浮点容差、字段级过滤是关键差异点。