什么时候需要对比 JSON
接口升级前后响应是否一致、配置中心两版差异、Mock 与真实数据是否对齐——肉眼对两段 JSON 很容易漏字段。ComTools JSON 对比(Tools/Json/Compare)左右双栏粘贴,自动格式化后按对象路径比较,并在对应行上高亮差异。
数据在浏览器本地处理,不上传服务器。
主要能力
| 功能 | 说明 |
|---|---|
| 双栏编辑 | A / B 两侧独立输入 |
| 先格式化再比 | 支持 2 / 4 空格或 Tab 缩进 |
| 路径级 Diff | 比较字段新增、删除、值变化 |
| 行内高亮 | 差异行在两侧编辑器中着色标记 |
| 完全一致 | 状态提示「相同」 |
使用步骤
- 打开 JSON 对比。
- 左侧粘贴 JSON A(如旧版响应),右侧粘贴 JSON B(新版)。
- 选择缩进(默认 2 空格)。
- 点击 对比。
- 查看状态区差异条数,并在两侧高亮行中定位改动。
可点 示例 快速体验:例如 version 从 1 变为 2,并新增 lang 字段。
示意
A
{
"name": "ComTools",
"version": 1,
"free": true
}
B
{
"name": "ComTools",
"version": 2,
"free": true,
"lang": "zh-CN"
}
对比结果会标出 version 变更与 lang 新增(具体展示以页面高亮为准)。
常见场景
| 场景 | 做法 |
|---|---|
| API 升级回归 | 旧响应 A、新响应 B |
| 配置发布核对 | 发布前 / 发布后各贴一版 |
| 先确认合法再比 | 两侧先用 校验 |
| 单侧难读 | 先 格式化 再对比 |
| 表格两版数据 | Excel 对比 |
注意事项
- 两侧都必须是合法 JSON;任一侧解析失败会提示错误,不进入 Diff。
- 比较基于解析后的数据结构;仅空白/缩进不同且内容等价时,格式化后可能显示为相同。
- 对象键顺序一般不影响「值是否相同」的判定;关注字段路径与取值。
- 超大 JSON 建议先裁剪子树,避免浏览器卡顿。
相关工具
常见问题
Q:数组顺序变了算差异吗?
A:按位置比较元素;重排通常会显示为多项变化。若业务只关心集合内容,需自行排序后再比。
Q:浮点精度?
A:按 JSON 解析后的数值比较;极小误差需业务侧容忍,工具不做近似。
Q:能否导出 Diff 报告?
A:当前以页面高亮与条数提示为主;需要存档可截图或复制两侧原文。