跳至主要內容
Lizely

JSON 格式化工具

在瀏覽器中格式化、壓縮並驗證 JSON —— 可以美化顯示或壓縮為單行,並精確標示錯誤位置。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.將你的 JSON 貼上或輸入至輸入框中。
  2. 2.選擇縮排風格(2 空格、4 空格或製表符),然後點選「格式化」以美化——或點選「壓縮」以將其壓縮為單行。
  3. 3.若 JSON 無效,請閱讀錯誤中顯示的行與欄位;否則,點選「複製」按鈕複製美化或壓縮後的結果。

關於JSON 格式化工具

JSON(JavaScript 物件表示法)是現代 API、設定檔與資料管道的通用語言,標準化為 ECMA-404 與 RFC 8259。此工具對你貼上的任何 JSON 做三件事:美化顯示、壓縮,以及驗證——全部皆在瀏覽器本機執行。

美化(漂亮列印)會新增換行和縮排,讓巢狀物件和陣列變得易讀 — 選擇 2 空格、4 空格或跳格符號,以符合專案風格。壓縮則相反:它會移除所有空格和換行,產生最小的有效載荷,這是你用於網路傳輸或嵌入 JSON 到 URL 或資料庫欄位時所需要的。因為兩種操作都透過 JavaScript 引擎的原生解析器進行轉換,所以輸出始終是標準合規的 JSON — 結構和值完全保留,僅 whitespace 會改變。

驗證是格式化工具發揮作用的地方。當 JSON 無法解析時,這個工具會報告錯誤訊息以及相應的行與欄位,讓你直接跳到問題所在。這個工具最常見的錯誤包括:在最後一個項目後面多出逗號(在 JavaScript 中有效,但在 JSON 中非法)、單引號字串或鍵值(JSON 要求雙引號)、未加引號的物件鍵值,以及隨意的註解(JSON 沒有這些)。如果你曾經貼過一個 "看起來沒問題" 的配置,但應用程式卻拒絕接受,通常是因為這些原因之一。

有一個值得了解的限制並非本工具的錯誤,而是JavaScript本身的屬性:數字會被解析為IEEE-754雙精度浮點數,因此任何超過9,007,199,254,740,991(Number.MAX_SAFE_INTEGER)的整數都會失去精確度。例如12345678901234567890這個值會被轉換為12345678901234567000。如果你需要精確的大型整數——例如Twitter/X的snowflake ID或64位元的資料庫鍵——請在JSON中將其儲存為字串。

幾個JSON的規則會讓使用者感到困惑,因為JavaScript比規格更寬容。JSON的鍵必須使用雙引號字串;JavaScript物件文字允許裸鍵識別符,但JSON則不允許。JSON總共有恰好六種值型別——物件、陣列、字串、數字、布林值與null——沒有undefined、NaN、Infinity、日期或函式。字串必須使用雙引號並轉義控制字元,且整個文件必須為單一頂層值。瞭解這些規則可以將大多數"為何無法解析"的問題轉化為兩秒鐘的解決方案。

壓縮不僅僅是外觀上的調整。在大型 API 回應中,移除縮排可減少載體大小約 15 至 30%,在 gzip 壓縮前即有明顯效益,對行動裝置客戶端或頻寬計費情境尤為重要。而格式化則是你在除錯時最常使用的功能——原本僅一個 5,000 字元的單行回應,只要美化,立刻變成可瀏覽的樹狀結構。

所有操作皆在瀏覽器端完成。你的 JSON 會留在頁面內,不會上傳至任何伺服器——這與需將資料傳送至後端的工具形成真實差異。常見用途包括:除錯 API 回應、清理設定檔(如 package.json、tsconfig.json 或 CI 檔案)、壓縮載體以備儲存,或僅確認一個 blob 是否為有效的 JSON 之前,再交給程式使用。

方法與來源

解析與序列化使用 JavaScript 引擎的原生 JSON.parse / JSON.stringify(符合 ECMA-404 與 RFC 8259 標準)。

常見問題

格式化(美化)與壓縮 JSON 有何不同?
格式化會加入縮排與換行,讓巢狀資料易於閱讀與編輯。壓縮則會移除所有空白,產生最小的合法 JSON,適合用於網路傳輸或儲存。兩者保留完全相同的資料——僅空白不同。
為何我的 JSON 驗證失敗?
最常見的原因是:最後項目後多出逗號、使用單引號而非雙引號、未引號的鍵值,或註解(JSON 皆不允許)。此工具會顯示第一個錯誤的行與欄位,讓你能快速修正。
我的 JSON 會上傳到哪裡嗎?
不會。解析與格式化皆在你的瀏覽器中使用原生 JSON 引擎完成,資料從未離開你的裝置。因此,安全地格式化私人 API 回應、權杖或設定檔。

開發者工具 使用指南

查看全部