JSON 对比指南:对象差异、数组顺序与 HTML 报告
接口变更、配置版本比较或数据快照排查,都可以使用 JSON 对比。结构化比较关注字段和值,不会仅因为缩进或对象键的排列变化而产生差异。左右两份输入都必须先通过 JSON 校验。
操作步骤
- 左侧粘贴原始 JSON,右侧粘贴目标 JSON。
- 根据业务决定是否忽略数组顺序;有顺序含义的列表使用默认按索引比较。
- 开始对比,在对齐预览中查看新增、删除和修改内容。
- 使用差异筛选或路径搜索缩小范围,再导出本地 HTML 报告或 JSON Patch;返回编辑会保留两侧输入。
可直接测试的示例
Original: {"name":"Alex","roles":["reader"]}
Target: {"name":"Alex","roles":["reader","editor"]}对象顺序与数组顺序
对象键顺序默认忽略。数组默认按索引比较,因此相同元素重新排列也可能出现差异。忽略数组顺序时,会按元素集合比较并保留重复元素数量;集合发生变化时可能整体标记数组,不能把它当作按业务 ID 自动匹配记录。
HTML 报告与 JSON Patch 怎么选
单文件 HTML 报告用于离线阅读或分享对比结果,下载后可直接在浏览器打开。JSON Patch 描述用于程序处理的变更操作。应用 Patch 前需要确认当前比较模式及目标系统的处理规则,阅读报告与修改数据是不同用途。
常见问题
对象键顺序不同为什么没有差异?
对象按键和值比较,不按文本中的位置比较,因此单纯调整键顺序不会形成数据差异。
HTML 报告离开网站还能打开吗?
可以。导出的报告是独立本地 HTML 文件,可离线打开。