開發者工具
JSON 比對
依結構而非文字來比較兩份 JSON 文件。
JSON 比對 在您的裝置上執行
- 在您的瀏覽器中執行 — 您的文字絕不會傳送到任何地方
- 免註冊、無額度限制,可隨您高興使用多少次
運作方式
用一般的文字比對來比較兩份 JSON 內容會產生雜訊:鍵的順序調換、縮排不同、結尾逗號,在實際上沒有任何改變時都會顯示為變更。改為比較解析後的結構,就只會顯示真正的差異。
比較的是意義,而非字元
兩份文件都會被解析,並逐一比較每個值。鍵的順序與空白都無關緊要,因為物件本身沒有固有順序。描述相同內容的兩份文件,無論寫法差異多大,都會被回報為相同。
閱讀輸出結果
以 + 開頭的行只存在於第二份文件,− 只存在於第一份,~ 表示兩邊的值不同,並會同時顯示兩者。路徑會告訴您位置:物件的鍵用點號,陣列位置用方括號,所以 response.items[2].price 能精準指向該欄位。
陣列依位置比較
第三個項目會與第三個項目比較。這對有順序的資料是正確的行為,對無序的集合則不然,同樣項目但重新排序的清單會顯示為許多變更。若順序在您的資料中無關緊要,請先將兩邊排序。
為什麼在本機執行
API 內容經常帶有權杖、客戶資料與內部識別碼。把其中兩份貼到遠端的比對服務,等於把這一切都交了出去。在這裡,兩份文件都在頁面中解析與比較。
常見問題
JSON 比對常見問題
鍵的順序重要嗎?
不重要。物件本身沒有固有順序,因此重新排列的鍵不會被回報為差異。
陣列是如何比較的?
依位置比較。重新排序的清單會顯示為許多變更,因此若順序無關緊要,請先將兩邊排序。
這些符號是什麼意思?
+ 表示只存在於第二份文件,− 表示只存在於第一份,~ 表示兩者的值不同。
我的資料會被上傳嗎?
不會。兩份文件都在您的瀏覽器中解析與比較。