修復 JSON Unexpected Token 錯誤
Unexpected token 表示嚴格 JSON 解析器遇到了一個在合法 JSON 該位置不能出現的字元。
Unexpected token 是什麼意思
JSON 解析器從左到右讀取文件。當它報 Unexpected token 時,代表解析器在那個位置遇到了不符合 JSON 文法的字元。被回報的字元是線索,但真正的錯誤往往就在它之前。
常見 token 與對應原因
出問題的 token 通常指向 JavaScript 寫法,或從近似 JSON 的來源複製過來、本質上不是嚴格 JSON 的文字。
- Unexpected token ' 通常代表單引號字串或鍵應該改用雙引號
- Unexpected token , 通常代表出現了尾隨逗號
- Unexpected token / 通常代表 JavaScript 註解被複製到 JSON 裡
- Unexpected token T、F 或 N 通常代表 True、False 或 None 應該改成 true、false 或 null
- Unexpected token after JSON value 通常代表 JSON 文件結束後還多了一段文字
錯誤範例
{ name: 'Ada', active: True, }
修正後的 JSON
{ "name": "Ada", "active": true }
修復流程
把 payload 貼到 JSON Fix,按 Repair & Format,再按 Validate。如果錯誤還在,看精確的行列位置,並檢查標記 token 緊鄰前面的字元。
延伸閱讀
下面每篇都針對某一種 Unexpected token 變體做詳細說明,搭配錯誤/修正範例與逐步解法。
JSON 修復指南
主題中心
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
具體指南
- 如何解碼 Base64 字串(以及 JWT Payload)
- URL 編碼:對查詢參數與路徑做百分號編碼
- 將 YAML 轉為 JSON(並避免縮排錯誤)
- 將 JSON 轉為 CSV:把物件陣列扁平化
- 將 JSON 轉為 XML:根元素、屬性與陣列
- 將 JSON 跳脫為字串字面值(並解碼被雙重編碼的 JSON)
- 修復 JSON 中的尾隨逗號
- 修復 JSON 中的單引號
- 修復 JSON 中未加引號的鍵
- 修復 LLM 輸出的 JSON
- 修復 JSON 解析錯誤:Expected Property Name
- JSON 與 JavaScript 物件字面值的差異
- 在發送 API 請求前驗證 JSON
- JSON 格式化器 vs JSON 修復工具
- JSON 轉 JavaScript 物件轉換工具