这个JSONdiff工具的功能
文本区别工具将JSON视为行,因此重新排序的键或重新格式化的文件显示为红色和绿色的墙。这个工具可以比较两个JSON文档的结构。它走过两棵树,报告每一个添加,删除和改变的值与其确切的JSON路径,标志值的类型改变 (一个数字变成字符串是一个经典的API回归),并显示结果作为可折叠的树或平面列表的路径。它们可以在 Web Worker 中进行比较,
使用方法
- 粘贴原始文件到A,新文件到B。
- 阅读总结计数器:添加,删除,更改和类型更改。
- 使用树视图扩展只有不同分支,或者切换到路径以获取像
$.items[2].price这样的复制友好的列表。 - 当数组是集合 (标签,权限) 而不是有序列表时,请启用 忽略顺序
- 设置按键匹配 (例如
id) 以身份对应数组元素,因此插入一个元素不会使每一个接下来的元素都变化。
典型用途
- **API回归检查:**比较部署后的阶段化和生产反应。
- **配置漂移:**不同两个环境配置或Terraform JSON计划。
- 合同测试: 发现后端被无声删除或更名。
- **安装:**在接受快照测试之前,检查变化情况。
技巧与边界情况
- 对象密钥顺序从来不重要;JSON 对象根据定义是无顺序的。
1和1.0是 JSON 中等数;"1"和1是类型变更。- 在忽略顺序下,原始数组被比作多组,所以重复数仍然会计。
- 按键匹配仅适用于所有包含该键的对象数组;其他数组归于索引比较。
- 不有效的 JSON 报道了解析器的错误消息。