Command Palette

Search for a command to run...

JS

json 差異檢查器

比較兩個 JSON 文件結構,並使用精確的路徑查看新增、刪除和變更的鍵

什麼是 JSON Diff 檢查器?

JSON Diff Checker 在結構上而不是逐行比較兩個 JSON 文件。它不會告訴您"第14 行不同",而是準確解析文件和報告新增、刪除或更改了哪些鍵- 具有功能。rateLimit 或標籤[2] 等完整路徑- 因此您可以一目了然地看到兩個API 回應之間發生了什麼變化,設定檔或套件清單。

基於文字的 diff 工具在 JSON 上產生雜訊:即使資料相同,重新排序的鍵或不同的縮排也會顯示為變更。結構差異完全忽略格式並比較解析值。它還捕獲一類普通差異隱藏的錯誤,例如從數字 3000 默默更改類型到字串"3000"的值 - 在此標記為獨特的"類型更改"條目,因為這種差異打破了嚴格類型的消費者,即使它看起來一目了然。

比較在瀏覽器中運行客戶端。您貼上 - API 有效負載、環境配置、資料庫匯出 - 永遠不會離開您的設備,因此可以安全地比較來自內部或生產系統的文件。點擊比較僅發送使用情況檢查和發現差異數量的記錄。沒有註冊,沒有上傳,頁面載入後工具就會離線工作。

載入範例顯示當您比較兩個在各方面都不同的 JSON 檔案時 JSON 差異檢查器報告的內容。原件有「版本」:「1.4。0」、「連接埠」:3000 和 rateLimit 100;更新後的檔案有「1.5。0」、「連接埠」:「3000」、ratelLimit 250、新指標鍵和第三個標籤。比較傳回 5 個差異:新增 +2(功能。metrics、標籤 [2])、~2 更改(版本、功能。rateLimit)和!1 類型更改(連接埠)。複製報告將其變成五行標記行,從~版本開始:「1.4。0」→「1.5。0」。

比較結構而不是文字是結果可讀的原因,並且它基於 JSON 的一個事實,即文字差異無法使用:物件鍵未按規範排序,因此僅在鍵順序上不同的兩個文件是相同的文檔,並且基於行的差異將報告每行已更改。數組相反,因為數組中的順序是有意義的,因此重新排序的列表預設是一個真正的差異。對於 API 以其喜歡的任何順序傳回集合的常見情況,存在忽略數組順序的選項。數字按值進行比較,因此 1.0 和 1 匹配,這通常是您想要的,偶爾會隱藏類型變更。因此,類型變更會單獨報告,因為從數字 5 移動到字串「5」的欄位會破壞消費者,同時看起來幾乎相同。

如何使用 JSON Diff 檢查器?

  1. 貼上兩個 JSON 文件

    將原始 JSON 貼到左圖,將更新的 JSON 貼到右圖,或按一下載入範例,以查看每個差異類型的工作範例。

  2. 選擇比較選項

    如果元素位置與您的資料無關,則啟用「忽略數組順序」 - 對於標籤清單或 ID 集很有用,其中 [1,2,3] 應等於 [3,2,1]。

  3. 比

    點擊比較。兩個文件都會先經過驗證 - 如果任何一方存在語法錯誤,您將獲得準確的解析訊息以及它來自哪一方。

  4. 查看和匯出差異

    閱讀總計計數,然後使用它們的 JSON 路徑、舊值和新值掃描差異表。 將 DIFF 報告複製到您的剪貼簿以貼上到 PR 評論或票證中。

主要特點

  • 結構性的,而不是文字的

    比較解析的值、所以鍵順序、縮排和空格差異永遠不會顯示為錯誤的變化

  • 精確的 json 路徑

    每個差異都會透過其完整路徑報告 - features。rateLimit,users[3]。email - 因此您可以直接跳到變更位置

  • 變速檢測

    變成字串的數字(3000 → “3000”)與值更改分開標記,捕捉錯誤的普通差異隱藏

  • 忽略陣列順序選項

    當元素位置不相關時,將陣列視為無序集合,消除重新排序列表中的雜訊

Frequently Asked Questions

將一份文件貼到左側面板,另一份貼到右側面板,然後按一下「比較」。該工具會解析兩者,並列出每個新增、刪除和變更的鍵及其精確的 JSON 路徑。這兩個文件都保留在您的瀏覽器中 - 不會上傳任何內容。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json diff checkerjson diffjson comparecompare jsonjson differencejson diff onlinejson comparison tooldiff two json filesjson compare onlineapi response diff