5大最常見的JSON錯誤(及修復方法)
前言:為何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貼到我們的驗證器或修復工具,立即偵測並修正這些錯誤。我們的工具會指出確切問題,並針對多數常見錯誤提供自動修復建議。