JSON 壓縮工具

移除多餘空白,準確查看節省空間。

資料與格式
正在準備編輯器…
輸入
輸出
結果將顯示在這裡。

使用方法

  1. 貼上 JSON、開啟檔案或嘗試範例。
  2. 精簡結果會隨輸入更新。查看節省的空間。
  3. 複製或下載壓縮結果。

JSON 更小,每個值都完整保留

壓縮會移除 JSON 字串外的縮排、換行和其他多餘空白。輸出仍為純文字 JSON,普通 JSON 解析器即可讀取。

適合用於精簡的測試資料、單行 request body,或不需要易讀縮排的檔案。結果面板比較實際的 UTF-8 大小,而不是字元數。

壓縮的工作原理

工具檢查文件並掃描 JSON token。字串外的空白 token 被省略,其餘每個 token 的原始文字都複製到結果中。引號內的空白或跳脫換行屬於字串,會被保留。

結果保留 1.00、1e+30、-0 等數字寫法,也保留屬性順序和重複名稱,幫助避免在對這些細節處理不同的讀取程式中出現意外變化。

字串外的空白
易讀輸入
{
  "message": "hello world",
  "values": [1, 2, 3]
}
精簡輸出
{"message":"hello world","values":[1,2,3]}

「hello world」中的空白屬於字串,會被保留。外圍縮排和換行則會移除。

理解大小比較

輸入和輸出大小以 UTF-8 位元組數計量。節省位元組數等於輸入大小減去輸出大小;百分比為該差值除以輸入大小。Emoji 和許多非英語字元會佔用多個位元組。

已經精簡的文件可能無法再節省空間。有大量縮排的檔案則可能明顯縮小。如果選擇可選的末尾換行,輸出可能比原本精簡的輸入稍大;結果會如實顯示。

精簡 JSON 與編碼壓縮不同

精簡處理產生 JSON 文字。gzip 或 Brotli 等 HTTP 壓縮會將回應位元組編碼以便傳輸,使用時需要解碼。伺服器可以同時使用兩者,但本工具的百分比只計算純文字 JSON 的大小變化,不代表經 HTTP 壓縮後的傳輸節省量。

處理限制

最多支援 5 MiB UTF-8 輸入、20 MiB 輸出、128 層巢狀、250,000 個掃描 token,每次執行最長 10 秒。較大的文件可能需要效能更好的裝置。

?

常見問題

壓縮會自動執行嗎?

會。輸入短暫停頓後,唯讀結果便會更新,輸入內容不變。關閉「自動壓縮」後,可點選「壓縮 JSON」或按 Ctrl/⌘ + Enter 手動執行。

輸入變為無效時會怎樣?

上一次有效結果仍會顯示以供比較。「複製」「下載」和「用作輸入」不可用,節省空間的資料會清空,直到目前輸入產生有效結果。「清空」會清空兩個編輯器。

壓縮會移除字串內的空白嗎?

不會。引號內的空白、跳脫字元和編碼換行均保留,只移除字串外的多餘空白。

這和 gzip 壓縮一樣嗎?

不同。下載的是純文字 .json 檔案,不是壓縮包。伺服器可以另外使用 gzip 或 Brotli 進行 HTTP 傳輸壓縮。

數字寫法會改變嗎?

不會。大整數、小數末尾的零、指數寫法和負零都保留原始寫法。壓縮不會將它們轉換為浮點值。

為什麼輸出沒有變小?

可能沒有多餘空白可移除。選擇末尾換行會增加一個位元組,因此已經精簡的輸入可能稍微變大。大小比較會計入此選項。

為什麼精簡輸出仍顯示為多行?

「自動換行」只更改編輯器中長文字的顯示方式,不會在複製或下載的 JSON 中插入換行字元。關閉自動換行即可按單行查看。

能把結果重新變為易讀的 JSON 嗎?

可以。使用 JSON 格式化工具重新新增縮排,能產生易讀的 JSON,但無法還原壓縮前精確的空白排版。

JSON 會離開我的裝置嗎?

不會。貼上的文字和本機檔案都在瀏覽器中處理。DevToolsy 不會上傳文件,也不儲存文件歷程記錄。如需保留,請在離開頁面前下載結果。

尋找下一個實用工具

語言

要切換語言嗎?目前頁面的內容將被清空。請先複製或下載需要保留的資料。