驗證器使用 Ajv 編譯貼入的 Schema,將 properties 與限制條件整理成契約樹,再把每一筆驗證錯誤對應到 instance JSON Pointer。選取錯誤時,契約樹會同步標示相符路徑。
目前支援 Draft 2020-12、Draft-07、常用字串 format、boolean schema,以及以 # 開頭的本地參照。remote 或 file ref 會明確拒絕,不會抓取或靜默忽略。
JSON 解析、Schema 編譯、format 檢查、契約樹產生與資料驗證都在瀏覽器本機執行;工具不會上傳 Schema、instance 資料或驗證結果。
關於這個主題的常見疑問與實用解答。
將 Schema 貼到第一個編輯器,待驗證 JSON 貼到第二個編輯器。工具會編譯 Schema,立即列出每一筆失敗的 JSON Pointer、keyword 與對應 schema path。
支援 Draft 2020-12 與 Draft-07。未宣告 $schema 的 Schema 會以 Draft 2020-12 處理;其他 dialect 會明確失敗,不會改用另一個 draft。
它指向待驗證 JSON 中未通過規則的精確位置。遇到 required 或 additional property 錯誤時,工具會把 Ajv 的父層路徑補成直接指向該欄位的路徑。
可以。像 #/$defs/User、#/definitions/User 這類本地參照會在貼入的 Schema 內解析;遠端 URL 與檔案參照不會被抓取。
JSON 語法只決定文字能否被解析;JSON Schema 另外定義 required 欄位、值的型別、format、範圍、pattern 與 enum 等資料契約規則。
不會。解析、Schema 編譯、format 檢查、契約樹與驗證都在瀏覽器內執行;remote ref 也會被拒絕,因此不會抓取外部 Schema 內容。