PTBox

JSON 结构对比工具

JSON 结构对比工具,按 JSON 语义递归比较两段 JSON 树,输出每个差异的完整路径并分类为新增 / 删除 / 修改 / 类型变化。不受键顺序影响,所有运算在浏览器本地完成。

使用说明

按 JSON 语义递归比较两段 JSON 树(而非文本行级 diff),所以键的顺序不会被当作差异。

四种差异类型

  • + 新增:仅出现在右侧的键或数组元素;
  • − 删除:仅出现在左侧的键或数组元素;
  • ~ 修改:两侧同一路径上原始值不同(同类型);
  • ! 类型变化:两侧值类型不同(如 "85" vs 85)。

每个差异都标注完整 JSON 路径(如 $.user.phone$.tags[2]),点击顶部彩色徽章可只看某一类差异。所有解析与对比在浏览器本地完成,JSON 数据不会上传。

典型使用场景

API 版本对比

对比不同版本接口返回结构,看哪些字段被增删改。

配置变更审查

对比改动前后的配置文件,避免合并时漏掉字段。

测试断言定位

单元测试 expected vs actual 不一致时,按路径定位具体差异。

数据迁移校验

迁移前后导出的 JSON 是否一致,发现遗漏字段或类型变化。

常见问题

和 git diff 有什么区别?

git diff 按文本行对比,本工具按 JSON 语义递归对比,键顺序不同不会被算作差异。

数组对比怎么处理?

按下标对应,元素位置变化会全部标为差异;如需忽略顺序请先排序。

类型变化和值变化有什么不同?

类型不同(如 "85" vs 85)会标为 ! 类型变化;同类型不同值标为 ~ 修改。

支持复制差异路径吗?

每个差异都标注完整 JSON 路径如 $.user.phone,可直接复制用于代码定位。

相关工具

评论

0 / 1000