logo
GeekFormat

JSON 壓縮

免費線上JSON壓縮工具,支援JSON單行緊湊壓縮、JSON轉義/反轉義,內建智慧語法修復自動處理尾逗號等常見錯誤,即時顯示壓縮率,CodeMirror編輯器帶快捷鍵,純前端處理。

相關推薦

適用場景

  • API開發中壓縮JSON請求/回應體,減少HTTP傳輸位元組數,提升介面回應速度(尤其是行動裝置弱網環境)
  • 上線前精簡前端JSON設定檔、i18n語言包、Mock資料,減小靜態資源體積
  • 在單元測試程式碼、Postman/curl指令中將JSON物件轉義為字串字面量嵌入程式碼
  • 從日誌中複製的轉義JSON(如\"key\":\"value\")一鍵反轉義為可讀JSON
  • 批次修復有尾逗號、單引號等語法錯誤的JSON檔案,一鍵轉為合法JSON
  • 將格式化的JSON壓縮為單行後貼上到一行指令參數或聊天工具中分享

功能特點

  • 三合一功能:JSON緊湊壓縮 + 轉義(Escape)+ 反轉義(Unescape),覆蓋壓縮體積、嵌入程式碼字串、還原轉義三大場景
  • 智慧語法修復:內建tryFixJSON引擎,自動偵測並修復尾逗號、單引號、註解、未閉合引號等常見JSON錯誤
  • CodeMirror編輯器:左側輸入右側結果雙欄佈局,支援JSON語法突顯、可拖曳分割條、字型大小調節
  • 即時壓縮統計:狀態列即時顯示原始大小(Bytes/KB/MB)、壓縮後大小、精確壓縮率百分比
  • 鍵盤快捷鍵:Shift+Cmd/Ctrl+C壓縮、E轉義、U反轉義、O上傳、D下載、K清空,高效不用滑鼠
  • 自動執行模式:貼上或編輯後400ms防抖自動壓縮/轉義,所見即所得
  • 檔案上傳下載:支援拖入或點擊上傳.json/.txt檔案,處理後一鍵下載output.json
  • 本機歷史記憶:localStorage自動儲存上次輸入內容,重新整理頁面不丟失
  • 範例資料:一鍵載入範例JSON快速體驗,錯誤提示帶修復按鈕
  • 純前端安全:所有運算本機瀏覽器執行,資料不上傳伺服器,斷網可用

使用方法

  1. 將JSON內容貼上到左側編輯器,或點擊上傳按鈕選擇本機.json/.txt檔案,也可點擊「範例」按鈕載入範例
  2. 預設自動執行壓縮模式(400ms防抖),也可手動點擊「壓縮」按鈕或按快捷鍵 Shift+Cmd/Ctrl+C
  3. 需要轉義為程式碼字串時按 Shift+Cmd/Ctrl+E 或切換模式為轉義;需要還原轉義字串時按 Shift+Cmd/Ctrl+U
  4. 如果JSON有語法錯誤,底部會顯示紅色錯誤提示,有可修復錯誤時會出現「嘗試修復」按鈕,點擊即可自動修正
  5. 底部狀態列即時顯示壓縮前/後位元組數和壓縮率百分比,確認結果後點擊「複製」或「下載」按鈕
  6. 左右面板間的分割條可拖曳調整寬度,也可使用快捷鍵快速完成所有操作

常見問題

JSON壓縮和JSON格式化有什麼區別?

JSON格式化(美化/Beautify)是在鍵值對之間添加縮排、換行和空格,讓人眼更容易閱讀,適合開發除錯;JSON壓縮(Minify)則是去除所有不必要的空白字元(空格、換行、製表符、縮排),將多行JSON變為單行緊湊格式,目的是減小體積、提升傳輸效率,適合生產環境API傳輸、設定檔精簡和嵌入程式碼字串。兩者是互補操作——開發時看格式化版本,上線時用壓縮版本。

JSON轉義(Escape)是什麼?什麼時候需要用?

JSON轉義是指對JSON字串中的特殊字元添加反斜槓轉義(主要是把雙引號 " 轉成 \",反斜槓 \ 轉成 \\,換行轉成 \n 等),將多行JSON物件變成一個可以直接嵌入JavaScript、Java、Python等原始碼中的單行字串字面量。典型場景:在寫單元測試時把JSON回應作為字串內嵌到測試程式碼中;在Postman或curl指令中傳遞JSON字串;在設定檔中把JSON作為字串值。反轉義(Unescape)則是將轉義後的字串還原為標準JSON。

輸入的JSON有語法錯誤(如尾逗號),能壓縮成功嗎?

可以。本工具內建智慧語法修復引擎(tryFixJSON),在壓縮前會自動偵測並嘗試修復常見JSON錯誤:1)末尾多餘逗號(trailing comma),如 {"a":1,};2)單引號代替雙引號,如 {'a':1};3)未閉合的字串;4)JavaScript註解(// 和 /* */);5)末尾多餘逗號等。修復後再執行壓縮或轉義,確保輸出100%合法的JSON。如果偵測到可修復錯誤,會在面板上顯示「嘗試修復」按鈕,點擊即可一鍵修正。

JSON壓縮會不會丟失資料?壓縮率一般多少?

不會丟失資料。JSON壓縮只是移除格式空白字元(空格、換行、製表符),不改變任何鍵名、鍵值、資料型別和結構,經 JSON.parse 再 JSON.stringify 後與原資料完全一致。壓縮率取決於原JSON的格式化程度:如果原先是2空格縮排的格式化JSON,壓縮率通常在 20%-40%(去除縮排和換行);如果有大量連續空格或註解(修復後),壓縮率可達50%以上。狀態列即時顯示原始位元組數、壓縮後位元組數和精確壓縮率。

在壓縮敏感的JSON設定或介面資料時會外洩嗎?

不會。本工具採用純前端處理架構,所有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 Minify)?

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
JavaScript Object Notation(JavaScript物件表示法),一種輕量級的資料交換格式,使用鍵值對和陣列結構,人可讀且機器易解析,是REST API的標準資料格式。
Minify / 壓縮
移除程式碼/資料中所有不必要的字元(空格、換行、註解)以減小體積的過程,常見於JS/CSS/JSON等前端資源。
Beautify / 格式化
Minify的逆操作,添加縮排、換行、空格使JSON結構清晰可讀,也叫Prettify或Pretty Print。
Escape / 轉義
在特殊字元前加反斜槓(如 " 變 \",換行變 \n),將多行JSON轉為可嵌入程式碼的單行字串字面量。
Unescape / 反轉義
轉義的逆操作,將 \"、\n、\\ 等轉義序列還原為原始字元,恢復標準JSON格式。
Trailing Comma / 尾逗號
物件或陣列最後一個元素後面多餘的逗號,JavaScript允許但JSON標準不允許,是最常見的JSON語法錯誤。
Gzip / Brotli
HTTP傳輸層通用壓縮演算法,與JSON Minify互補,Minify後再Gzip壓縮效果最佳。
Payload / 載荷
API請求或回應中實際傳輸的資料體(通常是JSON格式),壓縮Payload可直接降低頻寬消耗。
CodeMirror
瀏覽器端程式碼編輯器元件,本工具用它實現JSON語法突顯、行號、括號匹配等專業編輯體驗。

JSON壓縮與常見壓縮方式對比

壓縮方式壓縮層面是否有損可讀性適用場景
JSON Minify內容層(去空白)無損不可讀(單行)生產API傳輸、設定精簡
JSON Beautify內容層(加空白)無損高可讀性開發除錯、人工閱讀
Gzip傳輸層無損不可讀(二進位)HTTP回應Content-Encoding
Brotli傳輸層無損不可讀(二進位)HTTPS靜態資源壓縮(比Gzip高20%)
MessagePack序列化層無損不可讀(二進位)高效能RPC內部通訊

JSON轉義特殊字元對照表

原始字元轉義後名稱說明
"\"雙引號JSON字串必須轉義的最常見字元
\\\反斜槓轉義字元本身需要轉義
換行\nNewline多行字串壓縮為單行必須轉義
製表符\tTab縮排Tab轉義
回車\rCarriage ReturnWindows換行符CRLF中的CR
/\/斜槓JSON標準允許但不強制轉義(可選)

Authoritative References