JSON 格式化與壓縮 — 帶語法驗證
貼上任意 JSON, 選 2/4/8 空格縮排美化, 或壓縮到一行。無效 JSON 會顯示解析錯誤便於快速定位問題。
{
"hello": "world",
"items": [
1,
2,
3
]
}運作原理
本工具的功能
JSON 是嚴格格式 — 每個引號、逗號、括號都必須正確。瀏覽器和 API 在錯誤時返回晦澀的「Unexpected token」訊息。本工具用瀏覽器原生 JSON 解析器解析輸入, 然後重新序列化為美化 (帶縮排) 或壓縮 (無空白) 格式。
解析失敗時直接顯示底層錯誤(通常帶位置), 便於快速定位缺失的逗號、未轉義引號、末尾逗號等問題。
格式化與壓縮
格式化(美化): JSON 閱讀的標準方式。JavaScript 圈慣用 2 空格, Python/Java 圈常用 4 空格。按專案慣例選擇。
壓縮(minify): 摺疊成無空白的一行。在 URL 中嵌入 JSON、環境變數、空白敏感場景有用。典型美化配置檔案壓縮後縮小 20-40%。
JSON 常見陷阱
末尾逗號。JavaScript 允許, JSON 不允許。{a:1, b:2,} 在編輯器裡透過但發往網路時失敗。
單引號。JSON 要求鍵和字串值都用雙引號。{'a': 1} 無效, {"a": 1} 正確。
註釋。JSON 沒有註釋。// 或 /* */ 會破壞解析。VS Code 配置使用的 JSONC 支援註釋但非標準 JSON。
數字。JSON 不支援 NaN 或 Infinity。用 null 或字串包裹, 視下游消費方而定。
常見問題
›支援 JSONC (含註釋 JSON) 嗎?
暫不。先去除註釋或用支援 JSONC 的工具。
›大小限制?
現代瀏覽器能處理幾 MB JSON, 不過文本框可能在 ~1 MB 後變慢。巨大檔案用桌面工具。
›為什麼我的 JSON 無效?
最常見: 末尾逗號、單引號、字串內未轉義引號。解析器錯誤會指出列位置。
›可以按字母順序排序鍵嗎?
本版未支援。貼上到支援排序的工具(如 jq --sort-keys) 最乾淨。後續可能新增。
›處理深巢狀 JSON?
可以。瀏覽器 JSON 解析器處理任何實用深度。
›為什麼壓縮 1 MB 不變成 1 位元組?
壓縮只去除空白, 實際資料保留。真正的體積壓縮用 gzip 或 MessagePack 等二進位制格式。
›資料會上傳嗎?
不會。所有解析與格式化在瀏覽器內。
›JSON Schema 驗證呢?
本工具僅語法驗證。Schema 驗證用專門的 JSON Schema 驗證器加你的 schema 檔案。
相關工具
最後更新: