5大最常見的JSON錯誤(及修復方法)

By JSONValidator.dev 團隊 2025-07-04

前言:為何JSON錯誤如此普遍?

JSON是API、配置與資料交換中最受歡迎的資料格式之一。然而,JSON中的任何微小錯誤都可能導致應用程式崩潰、中斷整合流程或讓除錯變得極其困難。以下介紹五大最常見的JSON錯誤(含實際範例)及其修正方法。

1. 尾隨逗號

在JSON中,物件或陣列最後一項後不允許出現逗號。這是手動編輯時常見的錯誤。

Before:
{
  "name": "Alice",
  "age": 30,
}
After:
{
  "name": "Alice",
  "age": 30
}
提示:許多程式編輯器(及我們的線上JSON工具)會標示或自動修正尾隨逗號。

2. 單引號與雙引號

JSON要求所有鍵名與字串值必須使用雙引號,單引號無效。

Before:
{
  'name': 'Bob'
}
After:
{
  "name": "Bob"
}
請勿使用單引號——即使程式語言允許!JSON語法比JavaScript或Python更嚴格。

3. 未跳脫的字元

某些字元(如換行符、製表符或字串內的引號)必須使用反斜線正確跳脫。

Before:
{
  "note": "This will break: "hello""
}
After:
{
  "note": "This will work: \"hello\""
}
若出現“unexpected token”或“unterminated string”等錯誤,請檢查資料中是否遺漏跳脫符號。

4. 缺少括號或大括號

每個開頭括號或大括號都必須有相對應的閉合括號。缺少或多餘括號一定會導致JSON無效。

Before:
{
  "name": "Eve",
  "items": [1, 2, 3
}
After:
{
  "name": "Eve",
  "items": [1, 2, 3]
}
使用線上JSON驗證器即可立即發現缺少或多餘的括號。

5. 資料型態錯誤

數字、布林值及null不應該被引號包裹。例如42是有效數字,但"42"為字串,不是數字。

  • "true"(字串)不等同於true(布林值)
  • "null"(字串)不等同於null(值)
  • "42"(字串)不等同於42(數字)
Before:
{
  "age": "42",
  "active": "true"
}
After:
{
  "age": 42,
  "active": true
}

我們的工具如何協助您

將您的JSON貼到我們的驗證器修復工具,立即偵測並修正這些錯誤。我們的工具會指出確切問題,並針對多數常見錯誤提供自動修復建議。