JSON Diff
开发
文本 diff 把 JSON 当作字符串行,JSON Diff 理解结构。粘贴两份 JSON,立刻得到分类的变更列表——新增为绿色,删除为红色,变更为琥珀色,每条都带 $.address.zip 这样的点路径。键顺序不同不会被视为差异,缺失字段一目了然,无需逐字比较空白。
—
变更+ 1− 0~ 3
~ $.age30 → 31~ $.roles[1]"editor" → "viewer"~ $.address.zip"04000" → "04001"+ $.address.country"KR"
使用方法
- 左侧粘贴原始 JSON,右侧粘贴新版 JSON。
- 查看基于路径的变更列表。
- 无效 JSON 一侧会显示解析错误。
常见问题
- 为什么不用普通文本 diff?
- 文本 diff 按行比较,键顺序、缩进、结尾逗号不同都会产生无意义的差异。JSON Diff 比较解析后的结构,相同数据即使格式不同也会显示 0 个变更。
- 路径语法是什么意思?
- JSONPath 风格:$ 表示根,.key 表示属性,[n] 表示数组索引。$.posts[0].tags[1] 即第一篇文章的第二个标签。
- 数组怎么比较?
- 按索引逐项比较。长度不同则末尾多余的项标为新增 / 删除。相同元素顺序不同也会在差异索引处标为变更。
- 会上传吗?
- 不会——两份 JSON 都在浏览器中本地解析并比较。