JSON Schema驗證器
在瀏覽器中實時驗證JSON數據
驗證結果
關於JSON Schema驗證器
JSON Schema 驗證器是一個免費的線上工具,能在您的瀏覽器中即時檢測輸入的 JSON 數據是否符合指定的 JSON Schema 規範。非常適合在 API 開發與系統整合的過程中,用來快速測試 JSON 的資料結構是否正確。
它支援 Draft 4、Draft 7 以及 Draft 2020-12 等最新的 Schema 規範,能瞬間偵測出複雜物件或陣列的嵌套錯誤、或是缺少必填屬性等問題。所有的處理流程都在本地端執行,因此即使是極具機密性的 JSON 數據也能安全地進行驗證。
如何驗證JSON
輸入 JSON Schema
在左側的「JSON Schema」文字區塊中,輸入或貼上已定義好的 Schema。
輸入 JSON Data
在右側的「JSON Data」文字區塊中,輸入您想要測試的目標 JSON 數據。
確認驗證結果
驗證結果將會立即顯示在下方的面板中。若開啟實時驗證,系統會隨著您的輸入即時標示出錯誤位置(路徑與原因)。
JSON Schema術語表
- JSON Schema
- 用來定義 JSON 數據結構、允許的值類型、以及必填項目等的詞彙(規範),是數據驗證中不可或缺的工具。
- AJV
- 全名為 Another JSON Schema Validator,是本工具內部採用的一款極速且穩定的 JSON Schema 驗證函式庫。
- Instance Path
- 指示 JSON 數據中發生錯誤的具體位置。例如 `/users/0/age` 代表了陣列的索引或屬性階層關係。
- Draft 2020-12
- 這是 JSON Schema 規範的其中一個版本,屬於較現代化的規格,改進了前綴字及正則表達式的處理方式。
- Validation
- 指數據的妥當性確認。它能作為一道防線,避免系統因為預期外的資料而發生崩潰。
常見問題
- Q.輸入包含機密資訊的JSON安全嗎?
- 是的,非常安全。本工具將所有輸入的JSON數據完全在您的瀏覽器中處理。由於不會向外部伺服器發送任何數據,即使包含API金鑰或個人資訊,也沒有洩露的風險。
- Q.支援哪些版本的 JSON Schema?
- 支援 Draft 4, 6, 7, 2019-09 和 2020-12。藉由內部使用的 AJV 函式庫,確保能根據最新規範進行驗證。
- Q.JSON 格式錯誤與 Schema 驗證錯誤有何不同?
- 格式錯誤是指 JSON 的語法損壞,例如漏掉逗號或忘記閉合引號。而 Schema 驗證錯誤是指 JSON 語法正確,但內容違反了指定規則,例如「年齡不是數字」或「缺少必填欄位」。
- Q.能否解析分割在多個檔案中的 Schema ($ref)?
- 因為本工具在單一瀏覽器會話中運行,所以對於自動解析外部 URL 的 `$ref` 會有所限制。建議將所有定義整合到單一 Schema 物件的 `$defs` 中使用。
- Q.如何關閉實時驗證功能?
- 處理龐大的 JSON 時,每次輸入都進行驗證可能會使畫面變卡。只要關閉工具上方的「實時驗證」開關,即可切換為手動模式,只有在點擊按鈕時才會執行驗證。
使用場景
測試 API 回應
在實作前端之前,先確認開發中的 API 是否回傳了符合設計文件要求的 JSON 結構。
檢查設定檔語法
檢查像是 `config.json` 或 `package.json` 這類複雜的檔案是否遵循規範正確編寫。
建立驗證規則
當您在建立準備整合進應用程式的 JSON Schema 時,可以把它當作沙盒來測試是否運作正常。
學習 JSON Schema
透過不斷嘗試與真實資料的互動,來學習像是 $ref 或 allOf 等複雜的 Schema 功能。
技術細節
本工具在客戶端運行 Ajv (v8),這是 Node.js 生態系統中廣泛使用的超高速 JSON Schema 驗證器。由於 Ajv 會將 Schema 定義編譯一次並生成優化過的 JavaScript 函式,因此即便是龐大的 JSON 數據也能極速完成驗證。所有驗證都在瀏覽器內完成,提供零延遲的實時用戶體驗。
發送反饋/請求
發送反饋
請告訴我們您的想法,以幫助我們改進工具。
這不是工具的輸入欄位
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.