跳至主要內容
Lizely

JSON 驗證工具

確認 JSON 是否有效,並以行與列為單位精確指出語法錯誤,同時提供結構診斷,全程在瀏覽器中執行。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.將你的 JSON 貼入輸入框中。
  2. 2.立即讀取判斷結果:若為綠色 "Valid JSON" 則表示正確,若為紅色錯誤則顯示解析失敗的行與列。
  3. 3.對於有效的 JSON,請檢視結構報告(型別、深度、鍵數)以確認資料形狀是否正確。

關於JSON 驗證工具

JSON 驗證工具快速且精準回答一個問題:這段 JSON 是否真的有效?若不,錯誤發生的確切位置是哪裡?與格式化工具不同,它不會美化或壓縮你的資料——專注於正確性檢查、錯誤定位與結構診斷,因此你可以直接用來檢查 API 回應或設定檔內容,而無需修改其格式。若你需要美化或壓縮,則應使用別的格式化工具;本工具刻意不改變你的文字內容。

驗證過程使用瀏覽器原生的 JSON 解析器,實作 ECMA-404 / RFC 8259 語法規則。這表示驗證結果與你在生產環境中使用的 JavaScript 執行環境、Node.js 與大多數 JSON 庫所接受的結果一致——沒有寬鬆的猜測,也沒有自動修復。標準 JSON 非常嚴謹,這種嚴謹常讓使用者感到困擾:物件鍵必須用雙引號包圍,單引號無論是鍵還是字串皆不合法,最後一個陣列或物件元素後的逗號會被拒絕,註解(// 或 /* */)不屬於 JSON,NaN 與 Infinity 不被允許,且每一個括號與大括號都必須正確對應。這些正是本工具專門設計來偵測並說明的錯誤,而非默默容忍。

當 JSON 格式錯誤時,驗證器會顯示解析器本身的錯誤訊息,並在引擎提供位置資訊的地方,顯示錯誤發生的精確行與列 — 例如 "Invalid JSON at line 3, column 7." 這會將原本模糊的 "unexpected token" 轉換成可以直接跳轉至編輯器中錯誤點的明確位置。不同瀏覽器會以略微不同的方式陳述錯誤訊息(Chrome/Edge 的 V8、Firefox 的 SpiderMonkey、Safari 的 JavaScriptCore),工具會將引擎報告的格式轉換為統一的位置資訊。

當 JSON 格式正確時,你會得到結構報告,而不是一片綠色的牆壁:包括最上層的資料型別(物件、陣列、字串、數字、布林值或 null)、最大巢狀深度、所有層級中總共的鍵數量、包含多少物件與陣列,以及字元數量。這對於發現意外過深的巢狀結構、過大的資料載入量,或與程式預期不符的回應形狀,確實非常實用。有一點需要注意:JSON 的數字會被讀取為 IEEE-754 的雙精度浮點數,因此超過 2^53 的整數會失去精確度 — 一個驗證 "pass" 會確認語法正確,但無法保證超大的 ID 會完整保留。

所有操作皆在頁面本機執行——你的 JSON 會被處理,絕不會上傳至伺服器,這對於驗證令牌、憑證或私人 API 資料尤為重要。即使輸入極為複雜的結構,也能安全處理:即使遇到病態結構,也會被正確捕捉並報告,不會導致工具崩潰。貼上、閱讀結果、修正,再重複。

方法與來源

驗證使用 JavaScript 引擎的原生 JSON.parse(符合 ECMA-404 / RFC 8259 規範);語法錯誤會以引擎提供的行/列位置顯示。

常見問題

這與 JSON 格式化工具有何不同?
格式化工具會美化或壓縮 JSON。本驗證工具專注於正確性:它會告訴你 JSON 是否正確格式,指出任何語法錯誤的精確行與列,並提供結構統計資訊,如巢狀深度與鍵數。它不會重新格式你的資料。
為何我的 JSON 被標示為無效,但看起來卻正常?
標準 JSON(RFC 8259)非常嚴謹。常見的錯誤包括使用單引號而非雙引號、未包圍的物件鍵、最後項目後的逗號、註解(JSON 不允許)或括號/大括號不匹配。錯誤訊息與行/列位置會直接指向解析器中止的位置。
我的 JSON 會被傳送至伺服器嗎?
不會。驗證完全在瀏覽器中執行,使用內建的 JSON 解析器。你的資料從未離開你的裝置,因此可以安全地檢查包含令牌或私人資訊的內容。

開發者工具 使用指南

查看全部