這個工具的用途
JSON Validator 以精確的行號與欄號定位語法錯誤,並對單純使用 JSON.parse 會默默接受的問題提出警告——重複鍵、會在 JavaScript 中失去精度的整數,以及深度過深可能讓後端工具難以處理的結構。所有運算都在你的瀏覽器內完成——資料不會上傳。
使用步驟
貼上 JSON(或載入帶有缺漏逗號的範例),編輯器上方會顯示狀態。紅色橫幅指出第一個語法錯誤;若文件能解析但仍有 lint 等級問題,警告會列在下方。
輸入(陣列後方缺少逗號):
{
"user": "ada",
"roles": ["admin", "editor"]
"active": true
}結果: 第 4 行第 3 欄為無效 JSON——點擊 Fix in Repair 將輸入傳送到 Repair 工具。
限制與邊界情況
- 僅驗證標準 RFC 8259 JSON。若輸入含尾隨逗號、單引號、註解或 JSONP wrapper,請先使用 JSON Repair 工具。
- JSON Schema 驗證在 roadmap 上——目前覆蓋解析錯誤與三項 lint 警告(重複鍵、深度過深、不安全的大數)。
- 警告為啟發式。大數掃描會檢查 16 位以上、絕對值大於 253 − 1 的整數字面值。
- 非常大的檔案(> ~1.5 MB)在背景 Worker 中處理,頁面會短暫顯示「處理中」狀態。
- 延伸閱讀:常見 JSON 語法錯誤與 在 JavaScript 中安全解析 JSON。
常見問題
- 為什麼別的線上工具能接受、本站卻說是無效?
- 有些站台會默默自動修復常見錯誤(尾隨逗號、單引號、註解)。本驗證器嚴格遵循 RFC 8259。若需要寬鬆處理,請按「Fix in Repair」把類 JSON 轉成標準 JSON。
- 重複鍵警告是什麼意思?
- 當同一個物件出現兩個相同的鍵時,JSON.parse 會默默保留最後一個值(例如 {"a":1,"a":2} 會變成 {a:2})。本工具會把重複處明示出來,避免你不小心遺失資料。
- 為何要對大數提出警告?
- JavaScript 將所有數字以 64-bit 浮點存放,任何絕對值大於 2^53 − 1(9,007,199,254,740,991)的整數在重新解析時會失去精度。若 API 回傳像 9999999999999999999 這樣的 64-bit ID,建議改以字串傳送。
- 支援 JSON5、JSONC 或尾隨逗號嗎?
- 不支援——本驗證器嚴格遵循 RFC 8259。請先用 Repair 工具把 JSON5/JSONC/寬鬆輸入轉成標準 JSON。
- 可以對 JSON Schema 驗證嗎?
- 目前還不行——這是規劃中的功能。本工具目前涵蓋語法錯誤與三項 lint 啟發式。
- 我的 JSON 會被傳送到伺服器嗎?
- 不會。驗證完全在你的瀏覽器內完成,頁面不會上傳任何資料。