Command Palette

Search for a command to run...

JS

json 差异检查器

结构上比较两个 JSON 文档,并查看添加、删除和更改的键,具有精确的路径

什么是JSON差异检查器?

JSON Diff Checker在结构上比较两个JSON文档,而不是逐行比较。它不是告诉你第14行不同,而是准确地解析文档和报告添加、删除或更改了哪些密钥 - 具有完整的路径,如特征。rateLimit或标签[2] - 因此您可以一目了然地看到两个API响应、配置文件或包显现之间发生了什么变化。

JSON 上基于文本的 diff 工具会产生噪声:重新排序的键或不同的缩进显示为变化,即使数据相同。结构 diff 完全忽略格式化并比较解析的值。它还捕获了一类错误。plain diffs 隐藏,就像一个值从数字 3000 静默地更改类型到字符串"3000" - 在此标记为一个不同的"类型更改"条目,因为这种差异打破了严格类型的消费者,即使它看起来一目了然。

Comparison 在您的浏览器中运行客户端。您粘贴的 JSON - API 有效负载、环境配置、数据库导出 - 从未离开您的设备,因此可以安全地比较来自内部或生产系统的文档。单击 Compare 只发送使用情况检查和发现差异的记录。没有注册,没有上传,一旦页面加载,该工具就会离线工作。

Load Sample 显示当您比较两个在各方面都不同的 JSON 文件时,JSON 差异检查器会报告什么。原始文件有"版本":"1.4。0"、"端口":3000 和 rateLimit 100;更新后的文件有"1.5。0"、"端口":"3000",rateLimit 250,一个新的指标键和第三个标签。比较返回 5 个差异:添加 +2(features。metrics,标签[2])、~2 更改(版本、features。rateLimit)和!1 类型更改(端口)。复制报告将其转换为五行标记行,以 ~ 版本开始:"1.4。0"→"1.5。0"。

比较结构而不是文本是结果可读性的原因,它基于关于 JSON 的事实,即文本 diff 无法使用:对象键按规范无序,因此仅按键顺序不同的两个文档是同一文档,并且基于行的 diff 将报告每行更改后的数组是相反的,因为数组中的顺序是有意义的,因此默认情况下,重新排序的列表是真正的差异。对于 API 以任何它喜欢的顺序返回集合的常见情况,存在忽略数组顺序的选项。数字按值进行比较,因此 1.0 和 1 匹配,这通常是您想要的,偶尔会隐藏类型更改。因此,类型更改会单独报告,因为从数字 5 移动到字符串"5"的字段会使消费者在看起来几乎相同的同时崩溃。

如何使用JSON差异检查器?

  1. 粘贴两个 JSON 文档

    将原始 JSON 粘贴到左侧面板中,将更新的 JSON 粘贴到右侧面板中,或单击加载示例以查看每个差异类型的工作示例。

  2. 选择比较选项

    如果元素位置与您的数据无关,则启用"忽略数组顺序" - 对于标签列表或 ID 集很有用,其中 [1,2,3] 应等于 [3,2,1]。

  3. 比

    击比较。两个文档都是先验证的- 如果任何一方有语法错误,你就会得到准确的解析消息以及它来自哪一方。

  4. 查看并导出差异

    读取汇总计数,然后扫描其 JSON 路径、旧值和新值的差异表。 将 diff 报告复制到剪贴板以粘贴到 PR 评论或票证中。

主要特点

  • 结构性的,不是文本的

    比较解析的值,因此键的顺序、缩进和空白差异永远不会显示为假更改

  • 确切的 JSON 路径

    每个差异都通过其完整路径报告 - 功能。rateLimit,用户[3]。email - 这样您就可以直接跳转到更改

  • 类型变化检测

    一个变成字符串的数字(3000→“3000”)与值变化分开标记,捕获错误 普通差异隐藏

  • 忽略数组顺序选项

    当元素位置不相关时,将数组视为无序集合,消除重新排序列表中的噪声

Frequently Asked Questions

将一个文档粘贴到左侧面板中,将另一个文档粘贴到右侧面板中,然后单击"比较"。该工具对两者进行解析,并列出每个添加、删除和更改的键及其确切的 JSON 路径。两个文档都保留在您的浏览器中 - 没有上传任何内容。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json diff checkerjson diffjson comparecompare jsonjson differencejson diff onlinejson comparison tooldiff two json filesjson compare onlineapi response diff