如何驗證 JSON:常見錯誤與修復方法
您的 API 回傳了 400 錯誤。日誌顯示「Invalid JSON」。您盯著 payload 看,一切似乎正常——直到您發現藏在第 47 行的單引號。JSON 驗證錯誤之所以令人沮喪,正是因為它們往往是破壞一切的微小錯誤。
最常見的 JSON 語法錯誤
1. 尾隨逗號
JSON 中最常見的錯誤。JavaScript 允許尾隨逗號,所以開發者會將這個習慣帶入 JSON——但在 JSON 中這是無效的。
{
"name": "Alex",
"age": 30
}
務必移除最後一個值之後的逗號。
2. 單引號取代雙引號
JSON 要求使用雙引號。以下在 JavaScript 中有效但在 JSON 中無效:{'name': 'Alex'}。請將所有單引號替換為雙引號。
3. 未加引號的鍵
JSON 中的每個鍵都必須是帶引號的字串。{name: "Alex"} 應改為 {"name": "Alex"}。
4. 元素間缺少逗號
手動編輯 JSON 時容易遺漏——忘記在鍵值對之間加上逗號。
5. 括號不匹配
用 { 開始但用 ] 結束,或巢狀結構不正確。使用能標示配對括號的 JSON 驗證器來檢查。
如何有效驗證 JSON
快速手動驗證
將您的 JSON 貼入我們的 JSON 驗證器。它會標示出錯誤的確切行號和字元位置。所有處理都在您的瀏覽器中完成——您的資料永遠不會離開您的電腦。
程式化驗證
在應用程式中,應在每個邊界驗證 JSON。在 JavaScript 中,用 try-catch 包裝 JSON.parse()。在 Python 中,使用搭配例外處理的 json.loads()。
Schema 驗證
語法驗證告訴您 JSON 格式是否正確。Schema 驗證告訴您它是否具有正確的結構。使用我們的 JSON Schema 驗證器來定義預期的資料結構。
逐步除錯 JSON 錯誤
- 先格式化 — 貼入 JSON 格式化工具以獲得正確的縮排
- 檢查錯誤位置 — 大多數解析器會報告行號和欄位
- 檢查常見問題 — 尾隨逗號、單引號、未加引號的鍵
- 逐步驗證 — 對於大型 JSON,分段驗證
- 比較版本 — 使用 JSON Diff 與正常運作的版本進行比較
設定自動化驗證
在編輯器中
啟用 JSON 語法高亮、Linter 和設定檔的 Schema 驗證。
在 CI 流程中
將 JSON 驗證加入建置流程,在合併前捕捉錯誤。
在 API 中
永遠不要信任傳入的 JSON。在 API 邊界同時驗證語法和 Schema。回傳有用的錯誤訊息。
常見問題
JSON 驗證和 JSON Schema 驗證有什麼區別?
JSON 驗證檢查語法(正確的引號、括號、逗號)。JSON Schema 驗證檢查結構——正確的欄位、正確的型別、正確的約束條件。
為什麼我的 JSON 在 JavaScript 中可以運作,但在其他解析器中失敗?
JavaScript 比 JSON 規範更寬鬆。它允許尾隨逗號、單引號和註解。嚴格的解析器會拒絕所有這些。
相關資源
- JSON 格式化最佳實踐 — 從一開始就撰寫更乾淨的 JSON
- JSON Schema 驗證指南 — 強制執行資料契約
- JSON 驗證器工具 — 即時驗證 JSON 語法
- JSON 格式化工具 — 美化並修正 JSON 格式