兩份 JSON 到底差在哪?線上比對找出新增與刪除的欄位

API 回應改版、設定檔被人動過、兩個環境的參數不一致——用眼睛逐行對是折磨。教你用線上工具比對兩份 JSON,用顏色標出新增與刪除的欄位,支援巢狀結構,資料不離開瀏覽器。

本文介紹的工具:JSON 比對

「上週還好好的,今天 API 就壞了」——這種時候最常做的事,就是把舊的回應和新的回應擺在一起找差別。

如果 JSON 只有十行,用眼睛看沒問題。但真實的 API 回應動輒幾百行、還層層巢狀,逐行對是折磨,而且很容易漏看。

什麼時候需要比對 JSON

  • API 改版:對方說「只加了一個欄位」,實際比對才發現有欄位被拿掉
  • 設定檔被動過:正式環境和測試環境行為不一樣,多半是某個參數不同
  • 交接或除錯:接手別人的設定,想知道跟預設值差在哪
  • 驗證資料處理:程式跑過一輪之後,確認哪些欄位真的被改到

怎麼用

前往 JSON 比對工具,左右各貼上一份 JSON,工具會用顏色標出差異:

  • 綠色=新增的欄位
  • 紅色=被刪除的欄位

支援巢狀結構,會逐層遞迴比較,並標出差異所在的路徑——這點很重要,因為深層的差異正是最難用眼睛看出來的。

比對前先確認格式是對的

如果貼上去沒反應,多半是 JSON 本身格式有問題(最常見的是結尾多一個逗號用了單引號)。先到 JSON 格式化工具 按「驗證」確認兩邊都是合法 JSON,再回來比對。

順帶一提:比對前先把兩份都「美化」成一致的縮排,即使不用工具,肉眼掃描也會輕鬆很多。

常見問題

資料會被上傳嗎?

不會。比對在你的瀏覽器裡完成,貼上含金鑰或客戶資料的 API 回應也不會外流

有大小限制嗎?

在瀏覽器本地處理,建議單份不超過 10MB。更大的檔案仍可處理,但需要較長時間。

欄位順序不同會被當成差異嗎?

JSON 物件的鍵沒有順序意義,工具比對的是鍵與值本身,不是它們的排列順序。

只想知道「有沒有變」而不看細節?

先看有沒有出現顏色標記即可——完全沒有標記就代表兩份內容相同。

相關工具