JSON 差异比较
并排比较两段 JSON,快速找出新增、删除和修改的字段路径。
工具简介:JSON 差异比较
JSON 差异比较用于并排对照两段 JSON 数据,快速定位新增、删除和修改的字段路径。它适合接口调试、配置审查、联调验收与版本回归,帮助你在结构变化很多时仍然能快速看清差异来源。
什么是 JSON 差异比较?
JSON 差异比较会递归分析两个 JSON 的对象字段与数组索引,把结构层级中的变化整理成可读的路径级结果。相比单纯肉眼比对格式化文本,这种方式更适合定位嵌套字段、数组元素和配置项的真实变化。
如何使用
- 在左侧粘贴原始 JSON。
- 在右侧粘贴要比较的 JSON。
- 视情况开启“比较前按键名排序对象字段”。
- 点击“开始比较”,查看差异条目、格式化结果与下载报告。
常见应用场景
- 对比两次 API 响应,确认后端是否新增或删除字段。
- 检查配置文件改动,定位风险较高的参数变化。
- 联调时核对 Mock 数据与真实返回是否一致。
- 回归测试时验证旧版本与新版本的数据结构差异。
✨ 功能亮点
- 📍 路径级差异定位:直接展示如
$.meta.locale、$.items[2].status这样的路径,定位比纯文本对照更快。 - 🔁 递归对象与数组:对象按字段比较,数组按索引逐项比较,适合大多数 API 与配置结构。
- 🧹 排序后再比较:可先按键名排序对象字段,减少仅因字段顺序不同带来的干扰。
- 📦 报告可复制/下载:适合把 diff 结果发给同事、放进 issue,或保留审查记录。
📋 示例
原始 JSON
{
"project": "ToolMi",
"version": "1.0.0",
"features": {
"jsonDiff": false,
"jsonSchema": true
},
"tags": ["json", "compare", "nuxt"],
"meta": {
"locale": "en",
"updatedAt": "2026-03-07"
}
}
对比 JSON
{
"project": "ToolMi",
"version": "1.1.0",
"features": {
"jsonDiff": true,
"jsonSchema": true,
"jsonPath": true
},
"tags": ["json", "diff", "nuxt", "i18n"],
"meta": {
"locale": "fr",
"updatedAt": "2026-03-08"
}
}
典型差异结果
Changed $.version
Changed $.features.jsonDiff
Added $.features.jsonPath
Changed $.tags[1]
Added $.tags[3]
Changed $.meta.locale
Changed $.meta.updatedAt
🔧 使用建议
- 先确保 JSON 合法:去掉注释、尾逗号和非法引号,避免解析失败。
- 字段顺序不同先开排序:很多接口只变了输出顺序,先排序能减少误判。
- 关注路径而不是格式:真正有价值的是字段路径和对应值的变化,不是缩进和换行。
- 对大数组分段验证:数组很长时,建议先抽取关键片段比较,阅读成本更低。
❓ 常见问题 FAQ
Q1:为什么两个 JSON 看起来不一样,但结果没有差异?
A:可能只是字段顺序、空格或换行不同。这个工具比较的是解析后的结构和值,不比较排版。
Q2:数组是按值比较还是按索引比较?
A:当前按索引逐项比较,所以数组顺序变化也会被视为差异。
Q3:适合拿来比日志或长文本吗?
A:如果内容本质上是 JSON,非常适合;如果只是普通文本,建议使用文本差异比较工具。
Q4:可以导出结果吗?
A:可以,支持复制报告,也支持下载结构化差异报告。