JSON 差异对比

结构比较两份 JSON —— 忽略键顺序与缩进,只报告真正的差异,每一处都带 JSONPath 定位。也可以切到文本模式做行级 diff。全部在本地计算,数据不上传。

5 处差异

新增 2删除 1修改 1类型变更 1
类型路径
类型变更$.version2 (number)"2" (string)
新增$.tags[2]"diff"
修改$.config.retries35
删除$.config.debugfalse
新增$.config.timeout30

对比口径

  • 对象按键比较,与书写顺序无关:{"a":1,"b":2} {"b":2,"a":1} 视为相同。
  • 数组按下标比较:在中间插入一个元素,会让它之后的元素全部报告为差异。需要按内容匹配的场景, 建议先按某个 id 排序再对比。
  • 区分类型变更2"2" 会被单独标为「类型变更」,这类问题在接口联调时最常见。
  • 文本模式使用 Myers 差分算法;超大输入会自动退化为公共前后缀裁剪以保证响应速度。