tomai
免費 · 開發者工具

JSON 格式化

格式化、校驗、壓縮、鍵排序 —— 100% 瀏覽器本地處理

輸入
輸出

值得瞭解的技術細節

JSON 由 RFC 8259 定義,規範裡有三個角落最容易踩雷:

  • 數字是 IEEE-754 雙精度浮點——超過 2⁵³ 的整數(如 9007199254740993)在任何基於 JavaScript 的解析器裡都會默默丟失精度,這就是 API 的長 ID 常以字串出現的原因。
  • 重複鍵沒有被規範禁止;解析器普遍保留最後一個,本工具行為相同。
  • 驗證會回報第一個語法錯誤的精確行列號後停止——修好再跑,還有錯就會繼續報。

什麼是 JSON 格式化工具?

JSON 格式化器把 raw JSON——常是從 API 回應、設定檔或日誌流複製來的一整行——重排成人可掃描的縮排結構。本工具支援可選縮排格式化、壓回緊湊單行、只校驗不動文字、可選遞迴排序物件鍵,並每次報告位元組大小、總鍵數和巢狀深度。因為解析、列印和統計全在瀏覽器內執行,生產負載和帶秘密的設定可以放心貼上,不會送往伺服器。

從單行 API 湯到可讀結構

  • 2 格、4 格或 Tab 縮排美化,或壓到最緊的合法單行
  • 只校驗模式:檢查語法,文字一字不動
  • 遞迴鍵排序:列印前把每層巢狀物件按字母排序
  • 錯誤報告帶解析器訊息和失敗的確切列號
  • 執行後統計位元組大小、鍵總數和最大深度,支援複製和 JSON 檔案下載

它回本的除錯時刻

  • 對照欄位寫客戶端程式碼前,先讀懂巢狀 API 回應
  • 整理臃腫設定檔,再把負載壓小以塞進限大小請求
  • 稽核日誌裡摳出的結構,幾百行裡藏一個缺逗號

大負載和重複鍵驚喜

解析遵循嚴格 JSON,尾逗號、註解和單引號字串會被拒絕。重複物件鍵按 JSON 標準保留最後一個值,這會讓期待報錯的人意外;很深或很大的文件統計要走訪整棵樹,可能需要一點時間。空框直接拒絕,因為無物可驗。

隱私:貼上的任何東西都不離開瀏覽器分頁;格式化和校驗嚴格本機,敏感負載留在你放它的地方。

最後更新 · 2026-09-01

📚 常見 JSON 錯誤與修復對照表

幾乎所有 JSON 解析失敗都逃不出下面八種。對照表格,沿著格式化器高亮的行修復即可。

報錯原因修復
Unexpected token <拿到的是 HTML 不是 JSON檢查介面位址;你在解析一個錯誤頁
Unexpected end of input缺右括號/中括號順著格式化器的縮排參考線找未閉合的塊
Unexpected string元素之間缺逗號在驗證器提示的位置補逗號
Unexpected token '用了單引號JSON 必須雙引號——全部替換
Unexpected token ,} 或 ] 前有尾逗號刪掉最後一個逗號
Unexpected number前導零(007)或十六進位(0x1F)改成字串或去掉前綴
重複鍵同一個鍵出現兩次——後者靜默覆蓋重新命名其一;重複鍵合法但危險
看不見的垃圾字元BOM 或複製貼上帶入的空白從純文字來源重新貼上

再補兩個冷知識:JSON 沒有註解語法(JSONC 擴充加了——VS Code 設定用的就是它);數字不能有前導零和十六進位形式。本頁全部在瀏覽器本地執行——不確定 JSON 是不是正確格式?讀格式對比

最後更新 · 2026-09-01

為什麼用它而不是編輯器外掛

🧭

格式化、排序與統計

將原始 JSON 以兩空格、四空格或 Tab 縮排美化,可開啟深層鍵排序,每次處理後狀態列直接顯示位元組數、鍵數量與巢狀深度。

🎯

錯誤精確到行列位置

驗證會報告第一個語法錯誤所在的行與欄,巢狀物件深處漏掉的逗號也會直接指出修復位置,而不是只給一個籠統的解析失敗提示。

📦

壓縮、複製或下載

壓縮模式把同一份文件摺疊成單行便於傳輸,隨後可一鍵複製,或另存為 formatted.json 檔案。

常見問題

我的 JSON 會被上傳到伺服器嗎?

不會。格式化、校驗和壓縮全部由瀏覽器內的 JavaScript 完成,資料從不離開你的裝置,處理 API 金鑰、客戶資料等敏感內容也安全。

怎麼快速定位 JSON 語法錯誤?

點擊「校驗」或「格式化」,如果 JSON 不合法,會顯示解析器錯誤訊息以及第一處錯誤的精確行列位置。最常見的錯誤是多餘的逗號、單引號和沒加引號的鍵名。

「鍵排序」有什麼用?

它會遞迴地把每個物件的鍵按字母序排列後輸出。排序後的 JSON 在程式碼審查中更容易比對差異,也能為快取和雜湊產生穩定輸出。

為什麼一長串 ID 格式化之後末幾位變了?

變的不是「格式化」那一步——而是文字被解析成 JavaScript 數字的那一刻。超過 2⁵³ ≈ 9×10¹⁵ 的整數超出雙精度尾數範圍,末位會被捨入。請在 JSON 裡把這類值加引號以字串保存。

相關工具

相關工具