JSON 对比

左右并排比较两段 JSON。新增、删除和修改会标出来,明细在右侧。

或
 

或者试试

或
 

左侧 JSON

 

右侧 JSON

 

比较明细

    两段值差在哪

    两段排版过的对象看起来很像,也可能只差一个字段。这个页面把左右都按严格 JSON 解析,列出新增、删除和改过的值。它不修注释,那是 JSON 修复。只排版一份文档用 JSON 格式化。

    怎么用

    1. 左边框贴第一段,右边框贴第二段。每个框下面的「或」和文件框,可以把一个 .json 文件读进这一边。
    2. 对比在两个框的中间。差异数量显示在结果上方,两段值左右并排,比较明细在右侧。绿色只在右边,红色只在左边,琥珀色是改过的值。一边的空行是为了和另一边对齐。
    3. 上一个和下一个顺着明细走。点高亮的值,或点明细里的一行,会停在那一处差异。
    4. 对比下面的显示示例会在左边放一张订单:id 是 A-1042,status 是 open,customer 是 London 的 Ada Lovelace,邮箱 [email protected],items 里有 qty 为 2 的 PEN 和 qty 为 1 的 INK,note 是 gift wrap,total 是 11.5。右边保留 id 和姓名,邮箱改成 [email protected],status 改成 paid,total 改成 16.5,PEN 的 qty 改成 3,INK 换成 price 为 12 的 BOOK,删掉 note,加上 shipped false,然后立刻比较。结果是 ~ $.customer.email、~ $.items[0].qty、~ $.items[1].price、~ $.items[1].sku、- $.note、+ $.shipped、~ $.status 和 ~ $.total。
    5. 两边一样时,上方写「没有差异」。返回编辑回到输入框,文字还在。全部清除清空两个框。复制结果复制右侧那份明细。

    一行怎么写

    路径从 $ 开始。对象的键会排序,所以源文本里的键顺序不算差异。像标识符的键写成 .name,其他键写成 ["key"]。数组按下标比。类型变了,包括数组和对象对调,记成一行 ~。两边都必须能被 JSON 解析。左边坏了和右边坏了是两条不同的错误。差异超过 400 行会停下来,不会给半份列表。

    用在哪

    • 看改名之后的响应少了哪个字段。
    • 看数组里哪一项多了或少了。
    • 确认两份导出是不是同一个对象。

    常见问题

    键的顺序不一样,结果却说没有差异。

    对象按键比较,不按书写顺序比较。

    左边带注释就失败了。

    两边都要是严格 JSON。注释先到 JSON 修复里去掉。