JSON 壓縮
免費線上JSON壓縮工具,支援JSON單行緊湊壓縮、JSON轉義/反轉義,內建智慧語法修復自動處理尾逗號等常見錯誤,即時顯示壓縮率,CodeMirror編輯器帶快捷鍵,純前端處理。
免費線上JSON壓縮工具,支援JSON單行緊湊壓縮、JSON轉義/反轉義,內建智慧語法修復自動處理尾逗號等常見錯誤,即時顯示壓縮率,CodeMirror編輯器帶快捷鍵,純前端處理。
JSON格式化(美化/Beautify)是在鍵值對之間添加縮排、換行和空格,讓人眼更容易閱讀,適合開發除錯;JSON壓縮(Minify)則是去除所有不必要的空白字元(空格、換行、製表符、縮排),將多行JSON變為單行緊湊格式,目的是減小體積、提升傳輸效率,適合生產環境API傳輸、設定檔精簡和嵌入程式碼字串。兩者是互補操作——開發時看格式化版本,上線時用壓縮版本。
JSON轉義是指對JSON字串中的特殊字元添加反斜槓轉義(主要是把雙引號 " 轉成 \",反斜槓 \ 轉成 \\,換行轉成 \n 等),將多行JSON物件變成一個可以直接嵌入JavaScript、Java、Python等原始碼中的單行字串字面量。典型場景:在寫單元測試時把JSON回應作為字串內嵌到測試程式碼中;在Postman或curl指令中傳遞JSON字串;在設定檔中把JSON作為字串值。反轉義(Unescape)則是將轉義後的字串還原為標準JSON。
可以。本工具內建智慧語法修復引擎(tryFixJSON),在壓縮前會自動偵測並嘗試修復常見JSON錯誤:1)末尾多餘逗號(trailing comma),如 {"a":1,};2)單引號代替雙引號,如 {'a':1};3)未閉合的字串;4)JavaScript註解(// 和 /* */);5)末尾多餘逗號等。修復後再執行壓縮或轉義,確保輸出100%合法的JSON。如果偵測到可修復錯誤,會在面板上顯示「嘗試修復」按鈕,點擊即可一鍵修正。
不會丟失資料。JSON壓縮只是移除格式空白字元(空格、換行、製表符),不改變任何鍵名、鍵值、資料型別和結構,經 JSON.parse 再 JSON.stringify 後與原資料完全一致。壓縮率取決於原JSON的格式化程度:如果原先是2空格縮排的格式化JSON,壓縮率通常在 20%-40%(去除縮排和換行);如果有大量連續空格或註解(修復後),壓縮率可達50%以上。狀態列即時顯示原始位元組數、壓縮後位元組數和精確壓縮率。
不會。本工具採用純前端處理架構,所有JSON解析、壓縮、轉義、修復運算全部在您本機瀏覽器的JavaScript引擎中完成,資料不會透過任何網路請求上傳到外部伺服器,斷網也可以正常使用。您的API金鑰、資料庫設定、業務資料等敏感資訊始終留在本機。
為提升效率,本工具提供了完整的鍵盤快捷鍵支援(macOS 用 ⌘+Shift,Windows 用 Ctrl+Shift):Shift+⌘/Ctrl+C 一鍵壓縮;Shift+⌘/Ctrl+E 轉義;Shift+⌘/Ctrl+U 反轉義;Shift+⌘/Ctrl+O 上傳檔案;Shift+⌘/Ctrl+D 下載結果;Shift+⌘/Ctrl+K 清空。輸入時工具也會400ms防抖自動執行目前模式,無需反覆點擊按鈕。
JSON壓縮(JSON Minification)是指去除JSON文字中所有不必要的空白字元(空格、換行符\n、製表符\t、回車符\r)和註解(非標準但常見),將多層縮排的格式化JSON轉換為單行緊湊格式的過程。JSON壓縮不改變任何資料內容——鍵名、鍵值、資料型別(字串/數字/布林/null/陣列/物件)、巢狀結構完全保持不變,僅僅是移除了用於人類閱讀的格式空白。
JSON壓縮的核心價值在於減小資料體積。格式化JSON中的縮排空格和換行雖然對開發者友好,但在網路傳輸和儲存時屬於冗餘位元組。例如一個典型的API回應,格式化後可能有2KB,壓縮後可能只有1.2-1.5KB,體積減少25%-40%。在高併發API場景、行動裝置弱網環境、大規模設定檔分發中,JSON壓縮能顯著降低頻寬消耗、提升傳輸速度、減少伺服器開銷。生產環境中通常配合Gzip/Brotli等HTTP壓縮一起使用,但JSON Minify作為內容層壓縮仍然不可替代。
JSON壓縮的實作非常簡單:用JSON.parse()將文字解析為JavaScript物件,再用JSON.stringify(obj)不帶縮排參數序列化輸出即可——這正是本工具的核心實作方式。這種 parse + stringify 的方式天然保證了輸出的JSON是100%合法的,還能自動去除非法註解和尾逗號(配合錯誤修復)。需要注意:JSON壓縮與Gzip壓縮是兩個不同層面的最佳化——JSON Minify是內容層面去除冗餘空白,Gzip是傳輸層面的通用壓縮演算法,兩者可以疊加使用。
| 壓縮方式 | 壓縮層面 | 是否有損 | 可讀性 | 適用場景 |
|---|---|---|---|---|
JSON Minify | 內容層(去空白) | 無損 | 不可讀(單行) | 生產API傳輸、設定精簡 |
JSON Beautify | 內容層(加空白) | 無損 | 高可讀性 | 開發除錯、人工閱讀 |
Gzip | 傳輸層 | 無損 | 不可讀(二進位) | HTTP回應Content-Encoding |
Brotli | 傳輸層 | 無損 | 不可讀(二進位) | HTTPS靜態資源壓縮(比Gzip高20%) |
MessagePack | 序列化層 | 無損 | 不可讀(二進位) | 高效能RPC內部通訊 |
| 原始字元 | 轉義後 | 名稱 | 說明 |
|---|---|---|---|
" | \" | 雙引號 | JSON字串必須轉義的最常見字元 |
\ | \\ | 反斜槓 | 轉義字元本身需要轉義 |
換行 | \n | Newline | 多行字串壓縮為單行必須轉義 |
製表符 | \t | Tab | 縮排Tab轉義 |
回車 | \r | Carriage Return | Windows換行符CRLF中的CR |
/ | \/ | 斜槓 | JSON標準允許但不強制轉義(可選) |