JSON Key 排序器(固定鍵順序,讓 diff 更乾淨)

可自動統一 JSON 鍵的順序,讓審查與比較更容易。

可選擇作用於全部層級或僅頂層。陣列順序會保持不變。

以固定鍵順序得到更乾淨的 diff
保留陣列順序
同時完成縮排格式化
所有處理都只在此頁面本機執行(不會上傳)。

工具

可在一步內完成 JSON 排序與格式化,之後再複製或下載結果。

快捷鍵:Ctrl / Cmd + Enter 執行

範例(前 / 後)

輸入

{"b":1,"a":{"d":4,"c":3},"arr":[{"y":2,"x":1},3]}

全部層級排序(2 個空格)

{
  "a": {
    "c": 3,
    "d": 4
  },
  "arr": [
    {
      "x": 1,
      "y": 2
    },
    3
  ],
  "b": 1
}

僅頂層排序

頂層鍵會重新排列為 a、arr、b,而 "a" 內部的鍵順序則保持原樣。

使用方式

  1. 將 JSON 貼到輸入區。
  2. 選擇作用範圍(全部層級 / 僅頂層)與縮排方式。
  3. 按下「排序並格式化」,再複製輸出。

可進行的操作

  • 可將物件鍵以遞增或遞減順序排序
  • 可選擇全部層級或僅頂層
  • 保留陣列元素順序不變
  • 支援複製、下載與交換輸入 / 輸出

規格(陣列、巢狀、數字鍵)

  • 物件鍵會依字典序排序,並可選擇作用於全部層級或僅頂層。
  • 陣列元素順序會被保留。
  • 縮排選項:2 個空格、4 個空格、Tab,或壓縮為單行輸出。
  • 若輸入不是有效 JSON,會顯示錯誤,且不更新輸出。
  • 依 JavaScript 屬性列舉規則,類整數鍵可能會以數值順序顯示。

常見問題

巢狀物件也能排序嗎?

可以。可選擇全部層級或僅頂層。

陣列會怎麼處理?

陣列元素順序會保持不變。若陣列中含有物件,是否排序取決於你選擇的作用範圍。

可以保留原本的縮排嗎?

不行。輸出會依你選擇的縮排方式重新格式化。

支援 JSON5 註解或尾隨逗號嗎?

不支援。本工具只處理標準 JSON。

資料在哪裡處理?

所有處理都只在你的瀏覽器本機執行。輸入不會傳送到伺服器。