跳至主要內容
指南

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% 瀏覽器處理 —— 你的資料永遠不離開你的裝置