JSON 格式化工具 與驗證器
在瀏覽器中抓語法錯誤、整理 API response,並在可讀和壓縮 JSON 之間切換。
模式:
縮排:
輸入 JSON
Object 或 array
結果預覽
JSON 格式化與驗證
API response、設定檔、webhook 或靜態資料 feed 出問題時,最後常會盯著 JSON 看。好的格式化工具應該讓結構清楚、資料不被改動,並指出確切語法問題,而不是逼你用眼睛掃過上千個字元。
可讀模式
把壓縮 JSON 展開成可讀結構,方便檢查巢狀 object、array 和重複欄位,同時保留原始資料。
壓縮模式
移除空白和換行,產生較小資料負載,適合 fixture、embed、靜態檔案或快速傳遞。
解析器回饋
在資料負載進入程式碼、CI 或第三方整合前,先抓出錯誤引號、尾端逗號、缺少括號和壞掉的 escape sequence。
常見 JSON 錯誤
| 錯誤類型 | 常見原因 | 範例 |
|---|---|---|
| Unexpected token | 尾端逗號、單引號、註解或格式錯誤的 escape character 常會觸發這個錯誤。 | { "key": "value", } |
| Unexpected end of input | Object 或 array 沒有正確關閉。 | { "data": [1, 2 |
| Unquoted key | JSON 要求每個 property name 都使用雙引號。 | { key: "value" } |
常見問題
標準 JSON 可以寫註解嗎?
不行。RFC 8259 JSON 不支援註解。如果需要行內備註,請改用 YAML、JSON5,或加入像 _comment 這樣的專用欄位。
JSON 可以用單引號嗎?
不行。JSON 要求 property name 和 string value 都使用雙引號。單引號可出現在 JavaScript object literal,但不是嚴格 JSON。
格式化會改變 JSON 資料嗎?
不會。Pretty printing 只改空白和縮排。Minify 會再移除這些空白。除非原始輸入無效,object values 應保持不變。
為什麼 JavaScript object 可以跑,但作為 JSON 會失敗?
JavaScript object literal 允許未加引號的 key、註解、function、undefined 和部分情境的尾端逗號。嚴格 JSON 是資料格式,接受的語法較小也較可攜。