適用於 Node.js 和瀏覽器的最快 JSON 驗證器。
支援 JSON 模式 Draft-04/06/07/2019-09/2020-12(draft-04 支援需要 ajv-draft-04 套件)和 JSON 類型定義 RFC8927。
超過 100 人為 Ajv 做出了貢獻,我們很高興您能加入開發。我們歡迎實施新功能,這將使許多用戶受益,並提出改進我們文件的想法。
請查看貢獻指南和程式碼元件。
所有文件均可在 Ajv 網站上取得。
一些有用的網站連結:
自從我請求支持 Ajv 開發以來,已有 40 個人和 6 個組織透過 GitHub 和 OpenCollective 做出了貢獻 - 這種支持有助於獲得 MOSS 資助!
您的持續支持非常重要 - 一旦下一個主要版本發布,資金將用於開發和維護 Ajv。
請透過以下方式贊助 Ajv:
謝謝。
Ajv 產生程式碼將 JSON 模式轉換為超快速的驗證函數,對 v8 最佳化非常有效。
根據這些基準,目前 Ajv 是最快、最符合標準的驗證器:
json-schema-benchmark 不同驗證器的效能:
addSchema
新增或編譯才能使用)type
關鍵字中指定的類型要安裝版本 8:
npm install ajv
在 Node.js REPL 中試試看:https://runkit.com/npm/ajv
在 JavaScript 中:
// or ESM/TypeScript import
import Ajv from "ajv"
// Node.js require:
const Ajv = require ( "ajv" )
const ajv = new Ajv ( ) // options can be passed, e.g. {allErrors: true}
const schema = {
type : "object" ,
properties : {
foo : { type : "integer" } ,
bar : { type : "string" } ,
} ,
required : [ "foo" ] ,
additionalProperties : false ,
}
const data = {
foo : 1 ,
bar : "abc" ,
}
const validate = ajv . compile ( schema )
const valid = validate ( data )
if ( ! valid ) console . log ( validate . errors )
了解如何使用 Ajv 並查看指南中的更多範例:入門
請參閱 https://github.com/ajv-validator/ajv/releases
請注意:8.0.0 版本中的更改
版本7.0.0
版本 6.0.0。
請查看並遵守行為準則。
請將任何不可接受的行為回報給 [email protected] - 專案團隊將對其進行審核。
若要報告安全漏洞,請使用 Tidelift 安全聯絡人。 Tidelift 將協調修復和揭露。請不要透過 GitHub 問題回報安全漏洞。
Ajv 是 Tidelift 訂閱的一部分 - 除了軟體維護人員提供的支援之外,它還為開源軟體用戶提供集中支援。
麻省理工學院