開發者工具

JSON 比對

依結構而非文字來比較兩份 JSON 文件。

JSON 比對 在您的裝置上執行
  • 在您的瀏覽器中執行 — 您的文字絕不會傳送到任何地方
  • 免註冊、無額度限制,可隨您高興使用多少次

運作方式

用一般的文字比對來比較兩份 JSON 內容會產生雜訊:鍵的順序調換、縮排不同、結尾逗號,在實際上沒有任何改變時都會顯示為變更。改為比較解析後的結構,就只會顯示真正的差異。

比較的是意義,而非字元

兩份文件都會被解析,並逐一比較每個值。鍵的順序與空白都無關緊要,因為物件本身沒有固有順序。描述相同內容的兩份文件,無論寫法差異多大,都會被回報為相同。

閱讀輸出結果

以 + 開頭的行只存在於第二份文件,− 只存在於第一份,~ 表示兩邊的值不同,並會同時顯示兩者。路徑會告訴您位置:物件的鍵用點號,陣列位置用方括號,所以 response.items[2].price 能精準指向該欄位。

陣列依位置比較

第三個項目會與第三個項目比較。這對有順序的資料是正確的行為,對無序的集合則不然,同樣項目但重新排序的清單會顯示為許多變更。若順序在您的資料中無關緊要,請先將兩邊排序。

為什麼在本機執行

API 內容經常帶有權杖、客戶資料與內部識別碼。把其中兩份貼到遠端的比對服務,等於把這一切都交了出去。在這裡,兩份文件都在頁面中解析與比較。

常見問題

JSON 比對常見問題

鍵的順序重要嗎?

不重要。物件本身沒有固有順序,因此重新排列的鍵不會被回報為差異。

陣列是如何比較的?

依位置比較。重新排序的清單會顯示為許多變更,因此若順序無關緊要,請先將兩邊排序。

這些符號是什麼意思?

+ 表示只存在於第二份文件,− 表示只存在於第一份,~ 表示兩者的值不同。

我的資料會被上傳嗎?

不會。兩份文件都在您的瀏覽器中解析與比較。