适用于 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 订阅的一部分 - 除了软件维护人员提供的支持之外,它还为开源软件用户提供集中支持。
麻省理工学院