使用步驟
- 在左側貼上或輸入 JSON,輸入時即時校驗。
- 選擇縮排方式:2 個空格、4 個空格、Tab,或選「壓縮」變成一行。
- 勾選「鍵名排序」讓物件的鍵按字母排序,方便對比兩份資料。
- 有錯誤時會提示行列位置;沒有錯誤就可以複製或下載結果。
引數說明
- 縮排
- 2 個空格最常見(npm、Prettier 預設);4 個空格與 Python 的 json.dumps(indent=4) 一致;壓縮會去掉所有空白,體積最小。
- 鍵名排序
- 在所有層級按鍵名(轉義後的實際值)排序,不會改變陣列的順序。
- 大整數
- 數字按原文保留。很多格式化工具會把 JSON 解析成 JavaScript 數字,悄悄把 12345678901234567890 變成 12345678901234567000。
常見 JSON 錯誤及修復方法
| 提示 | 常見原因 |
|---|---|
出現了意外的字元 ' |
用了單引號而不是雙引號 |
| 末尾多餘的逗號 | 最後一項後面多了逗號:[1, 2,] |
出現了意外的字元 / |
從 JavaScript 裡複製了 // 註釋 |
| 內容提前結束 | 缺少 } 或 ],常見於複製不完整 |
| 控制字元必須轉義 | 字串裡有真實的 Tab 或換行,應寫成 \t、\n |
| 文件結束後還有多餘內容 | 貼上了兩段 JSON,或右括號後面還有其他文字 |
示例
輸入:
{"id":9007199254740993,"name":"Ada","tags":["math","code"]}
用 2 個空格格式化後,注意 ID 沒有被改變:
{
"id": 9007199254740993,
"name": "Ada",
"tags": [
"math",
"code"
]
}
常見問題
為什麼提示「JSON 不允許末尾多餘的逗號」?
標準 JSON(RFC 8259)不允許物件或陣列最後一項後面有逗號,雖然 JavaScript 允許。刪掉 } 或 ] 前面的那個逗號即可。
JSON 裡能用單引號或註釋嗎?
不能。JSON 字串必須用雙引號,註釋也不屬於 JSON 格式。tsconfig.json 等檔案能寫註釋,是因為對應工具使用了寬鬆的 JSONC 解析器。
我的 JSON 會上傳到伺服器嗎?
不會。解析和格式化都在瀏覽器裡完成,介面返回、Token、配置檔案都不會離開你的裝置。
為什麼大 ID 在其他工具裡會變?
JavaScript 用 64 位浮點數儲存數字,只能精確表示到 9,007,199,254,740,991。本工具不做數字轉換,超出這個範圍的 ID 也能保持不變。
能處理多大的檔案?
幾 MB 的 JSON 在筆記本上可以瞬間完成格式化。幾百 MB 的檔案建議使用 jq 等命令列工具。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。