JSON 格式化與驗證完整指南
· 6 分鐘閱讀
JSON(JavaScript Object Notation)已成為資料交換的事實標準。無論你是在除錯 API、解析設定檔還是傳輸資料,JSON 幾乎無處不在。
但原始 JSON 幾乎不可讀。這就是為什麼格式化工具是開發者的必備。
為什麼 JSON 難以肉眼閱讀
API 通常回傳壓縮後的 JSON:
{"name":"BoxrTools","tools":[{"slug":"json-formatter","category":"developer"},{"slug":"regex-tester","category":"developer"}],"stats":{"version":1,"free":true}}
技術上完全合法,但你要找任何一個欄位都得數括號。
格式化後:
{
"name": "BoxrTools",
"tools": [
{ "slug": "json-formatter", "category": "developer" },
{ "slug": "regex-tester", "category": "developer" }
],
"stats": { "version": 1, "free": true }
}
同一份資料,一眼就能看清結構。
5 個常見 JSON 錯誤
1. 尾隨逗號
{ "a": 1, "b": 2, } // ❌ 語法錯誤
JSON 不允許尾隨逗號。JavaScript 允許,但 JSON 不允許。這是手動編輯時最常踩的坑。
2. 單引號
{ 'a': 1 } // ❌
JSON 只接受雙引號。
3. 未加引號的鍵名
{ a: 1 } // ❌
{ "a": 1 } // ✅
所有鍵必須用雙引號包起來。
4. 把 undefined 序列化
JSON.stringify({ a: undefined }) // → '{}'
undefined 在 JSON 中不存在,序列化時會消失。
5. 循環參考
const a = {}; a.self = a;
JSON.stringify(a); // ❌ 拋錯
JSON 無法表示循環結構。
該用哪種縮排
- 2 空格 — 緊湊,適合巢狀深的資料
- 4 空格 — 更易讀
- Tab — 個人偏好,檔案略小
沒有標準答案。重點是同一專案中保持一致。
驗證 ≠ 格式化
驗證只問一個問題:「這是合法的 JSON 嗎?」。格式化只做美化。
好的工具兩者都做:先驗證(如果無效就報清晰錯誤),再格式化(如果有效就美化)。
用我們的工具試試
我們的 JSON 格式化與驗證工具 提供:
- 即時驗證 + 清晰錯誤訊息(含行號)
- 3 種縮排選擇
- 可選按字母順序排序鍵
- 一鍵壓縮(minify)
- 100% 瀏覽器處理 —— 你的資料永遠不離開你的裝置