Utilo

JSON 结构对比

按结构对比两份 JSON。可忽略键和数组顺序、按 id 匹配数组元素,用 JSON 路径和可折叠树展示新增、删除、修改和类型变化的字段。

这个JSONdiff工具的功能

文本区别工具将JSON视为行,因此重新排序的键或重新格式化的文件显示为红色和绿色的墙。这个工具可以比较两个JSON文档的结构。它走过两棵树,报告每一个添加,删除和改变的值与其确切的JSON路径,标志值的类型改变 (一个数字变成字符串是一个经典的API回归),并显示结果作为可折叠的树或平面列表的路径。它们可以在 Web Worker 中进行比较,

使用方法

  1. 粘贴原始文件到A,新文件到B。
  2. 阅读总结计数器:添加,删除,更改和类型更改。
  3. 使用树视图扩展只有不同分支,或者切换到路径以获取像$.items[2].price这样的复制友好的列表。
  4. 当数组是集合 (标签,权限) 而不是有序列表时,请启用 忽略顺序
  5. 设置按键匹配 (例如id) 以身份对应数组元素,因此插入一个元素不会使每一个接下来的元素都变化。

典型用途

  • **API回归检查:**比较部署后的阶段化和生产反应。
  • **配置漂移:**不同两个环境配置或Terraform JSON计划。
  • 合同测试: 发现后端被无声删除或更名。
  • **安装:**在接受快照测试之前,检查变化情况。

技巧与边界情况

  • 对象密钥顺序从来不重要;JSON 对象根据定义是无顺序的。
  • 1 和 1.0 是 JSON 中等数;"1" 和 1 是类型变更。
  • 在忽略顺序下,原始数组被比作多组,所以重复数仍然会计。
  • 按键匹配仅适用于所有包含该键的对象数组;其他数组归于索引比较。
  • 不有效的 JSON 报道了解析器的错误消息。

常见问题

我的数据是否被发送到服务器?

没有。这两份文件都在浏览器中进行分析和比较。

这与文本区别工具有什么不同?

文本区别比较行。这款工具理解JSON,所以格式化,空格和键顺序不会产生噪音,

可以比较很大的文件吗?

几兆字节的文件工作得很好,。随着节点的扩张,树惰地呈现。

"改变类型"是什么意思?

值存在于两侧,但它的JSON类型不同,例如一个对象被数组替换,或者null被字符串替换。

安全。所有处理都通过 JavaScript、Web Worker 和浏览器 API 在本地完成,你输入、粘贴或上传的任何内容都不会发送到我们的服务器。

本页内容由英文自动翻译而来,如发现错误,欢迎告诉我们。