JSON 差异比较

转换器

逐键深度比较两个 JSON 文档并高亮新增、删除与修改项,支持数组顺序敏感模式,用于接口回归与配置灰度核对。逐层比较对象与数组,标出新增、删除与修改的字段路径与前后取值。可切换数组是否按顺序敏感比较,并忽略键的书写顺序。适合接口回归、配置灰度核对与多环境差异排查。数组可按顺序敏感方式比对。

+ 1 新增− 1 删除~ 1 修改
A左侧 (A)
B右侧 (B)
对齐对比
A
{
"name": "Alice"
~ "age": 30
"tags": [
"admin"
− "user"
]
}
B
{
"name": "Alice"
~ "age": 31
"tags": [
"admin"
]
+ "email": "a@x.com"
}

关于 JSON 差异比较

JSON 差异对比工具在浏览器本地对两份 JSON 文档做结构化深度比较,精确标出新增、删除和修改的字段。比较过程忽略键的排列顺序和格式差异(空格、换行、缩进),递归遍历嵌套对象和数组,对数组元素按索引逐一比对,支持忽略 null 与空字符串差异的选项。差异结果以不同颜色高亮显示,支持展开折叠查看具体变更路径。适用于接口改版前后对比、配置文件版本差异检查和 API 响应回归验证。差异结果支持导出为 JSON 格式记录并生成包含新增和删除字段统计的变更摘要,方便留存版本变更历史和提交代码审查时附带对比说明。例如对比 {"name":"A","age":1} 与 {"name":"B","age":1},会逐字段标出 name 的差异而忽略相同的 age。

使用方法

  1. 打开「JSON 差异比较」
  2. 选择源格式与目标格式
  3. 根据需要调整输出选项
  4. 点击「转换」按钮,结果实时显示
  5. 复制或导出结果

使用场景

  • 接口回归 — 对比接口升级前后的响应,确认字段变更是否符合预期。
  • 配置审计 — 比较两个环境(测试/生产)的配置 JSON,找出不一致项。
  • 排查回归 bug — 对比正常和异常情况下的数据快照,快速锁定差异字段。
  • 版本对照 — 查看 package.json 等配置在两个 git 版本间的实际变化。
  • 数据校验 — 验证转换/处理前后的 JSON 是否只在预期字段上变化。

常见问题

会忽略键的顺序吗?

会。JSON 对象的键本就无序,本工具按键名而非位置比较,键顺序不同不会被误报为差异。

数组怎么比较?

数组按索引位置逐项比较。如果数组元素顺序变了,可能会被标记为差异,因为 JSON 数组是有序的。

能比较嵌套很深的 JSON 吗?

能。本工具递归比较任意深度的嵌套结构,并标出具体到叶子节点的差异路径。

格式不同会影响结果吗?

不会。缩进、空格等格式差异会被忽略,只比较实际的数据内容。

一份 JSON 无效怎么办?

本工具会先校验两份输入的合法性,若有语法错误会提示,需先修正才能对比。

能忽略数组元素的顺序吗?

默认按索引逐项比较,数组顺序变了会报为差异。若你的数组是无序集合(如标签列表),可考虑先排序再对比。

为什么 1 和 "1" 会被判定为差异?

JSON 中数字和字符串是两种不同的值类型:数字 1 的 keyword 类型是 number,而 "1" 是 string。本工具按类型 + 值精确比较,所以 1 与 "1"、true 与 "true"、null 与 "" 都会被视为不同。这类差异最常见于接口把数字字段返回成带引号的字符串,或后端对不同环境序列化方式不一致。若你希望忽略类型只比较字面内容,请先在一侧统一类型后再对比,或手工核对预期。

广告