Ad
DevToolXDevToolX

JSON 格式化

格式化、驗證和美化 JSON 資料

關於 JSON 格式化

JSON Formatter 根據 RFC 8259 解析輸入並重新序列化,讓每層巢狀的 key 與 value 都能一目了然。它會明確回報 trailing comma、單引號字串、未加引號的 key 等語法錯誤——這些在許多 runtime parser 中被容忍,但嚴格來說都違反標準。適合用來檢視 API 回應、在 diff 前統一排版,或在 JSON 資料進生產環境前先抓出格式問題。

常見使用情境

檢視 API 回應
把 curl 或 DevTools 網路面板裡壓縮過的 JSON 回應貼進來,立刻看清整個資料結構,不必再用眼睛硬解單行 minified 文字。
Debug 格式錯誤的 JSON
格式化工具會指出錯誤的確切行號與欄位——缺少逗號、括號未閉合——讓你一次就改對。
Diff 前統一縮排格式
把兩份 JSON 用相同縮排格式化之後再送進 diff 工具,結構差異才會清楚顯示,不會被空白不一致的雜訊蓋掉。
整理要嵌入程式碼的資料
把 JSON fixture 美化並改成 2 個空格縮排後,再複製貼入測試檔或原始碼常數,讓 code review 更容易。

常見問題

為什麼我的 JSON 在 app 裡能用,這裡卻報錯?

很多 parser 為了相容性會容許 trailing comma、單引號字串、JavaScript 註解。但 RFC 8259 明確禁止這些寫法。這個工具按照嚴格標準驗證——跨語言、跨平台的資料交換都應以此為準。

什麼是 JSONC?為什麼標準 JSON 不允許註解?

JSONC(JSON with Comments)是 VS Code 等編輯器用於設定檔的非官方擴充。標準 JSON 故意不支援註解——Douglas Crockford 的理由是:一旦允許,大家就會在裡面塞解析指令,讓 JSON 從純資料交換格式變成設定格式。在拿 JSONC 檔案當 API payload 之前,必須先把註解濾掉。

有大小限制嗎?

這個工具在瀏覽器裡用 JSON.parse 執行。幾 MB 以內的輸入幾乎是即時的。超過大約 50–100 MB 可能碰到 V8 字串長度上限或讓分頁卡住。超大檔案建議改用 jq 在命令列處理。

和 JavaScript 的 JSON.stringify(obj, null, 2) 有什麼差別?

JSON.stringify 只能處理已在記憶體中的值。這個工具接受原始文字、解析前先驗證語法,出錯時回報詳細錯誤而非拋出未捕捉的例外。它同樣保留 key 的插入順序,並能正確處理頂層是陣列或純量的 JSON。

相關工具