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 修復裡去掉。