AZ Tools

JSON Diff

开发

文本 diff 把 JSON 当作字符串行,JSON Diff 理解结构。粘贴两份 JSON,立刻得到分类的变更列表——新增为绿色,删除为红色,变更为琥珀色,每条都带 $.address.zip 这样的点路径。键顺序不同不会被视为差异,缺失字段一目了然,无需逐字比较空白。

变更+ 1− 0~ 3
  • ~ $.age3031
  • ~ $.roles[1]"editor""viewer"
  • ~ $.address.zip"04000""04001"
  • + $.address.country"KR"

使用方法

  1. 左侧粘贴原始 JSON,右侧粘贴新版 JSON。
  2. 查看基于路径的变更列表。
  3. 无效 JSON 一侧会显示解析错误。

常见问题

为什么不用普通文本 diff?
文本 diff 按行比较,键顺序、缩进、结尾逗号不同都会产生无意义的差异。JSON Diff 比较解析后的结构,相同数据即使格式不同也会显示 0 个变更。
路径语法是什么意思?
JSONPath 风格:$ 表示根,.key 表示属性,[n] 表示数组索引。$.posts[0].tags[1] 即第一篇文章的第二个标签。
数组怎么比较?
按索引逐项比较。长度不同则末尾多余的项标为新增 / 删除。相同元素顺序不同也会在差异索引处标为变更。
会上传吗?
不会——两份 JSON 都在浏览器中本地解析并比较。

相关工具