<img align="right" alt="Ajv logo" width="160" src="http://epoberezkin.github.io/ajv/images/ajv_logo.png">
# Ajv: Another JSON Schema Validator
The fastest JSON Schema validator for Node.js and browser. Supports draft-04/06/07.
[![Build Status](https://travis-ci.org/epoberezkin/ajv.svg?branch=master)](https://travis-ci.org/epoberezkin/ajv)
[![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv)
[![npm downloads](https://img.shields.io/npm/dm/ajv.svg)](https://www.npmjs.com/package/ajv)
[![Coverage Status](https://coveralls.io/repos/epoberezkin/ajv/badge.svg?branch=master&service=github)](https://coveralls.io/github/epoberezkin/ajv?branch=master)
[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv)
[![GitHub Sponsors](https://img.shields.io/badge/$-sponsors-brightgreen)](https://github.com/sponsors/epoberezkin)
## Please [sponsor Ajv](https://github.com/sponsors/epoberezkin)
Dear Ajv users! â¤ï¸
I ask you to support the development of Ajv with donations. ð
Since 2015 Ajv has become widely used, thanks to your help and contributions:
- **90** contributors ð
- **5,000** dependent npm packages âï¸
- **7,000** github stars, from GitHub users [all over the world](https://www.google.com/maps/d/u/0/viewer?mid=1MGRV8ciFUGIbO1l0EKFWNJGYE7iSkDxP&ll=-3.81666561775622e-14%2C4.821737100000007&z=2) âï¸
- **5,000,000** dependent repositories on GitHub ð
- **120,000,000** npm downloads per month! ð¯
Your donations will fund futher development - small and large improvements, support of the next versions of JSON Schema specification, and, possibly, the code should be migrated to TypeScript to make it more maintainable.
I will greatly appreciate anything you can help with to make it happen:
- a **personal** donation - from $2 âï¸
- your **company** donation - from $10 ð
- a **sponsorship** to get promoted on Ajv or related packages - from $50 ð°
- an **introduction** to a sponsor who would benefit from the promotion on Ajv page ð¤
| Please [make donations via my GitHub sponsors page](https://github.com/sponsors/epoberezkin)<br>â¼ï¸ **GitHub will DOUBLE them** â¼ï¸ |
|---|
#### Open Collective sponsors
<a href="https://opencollective.com/ajv"><img src="https://opencollective.com/ajv/individuals.svg?width=890"></a>
<a href="https://opencollective.com/ajv/organization/0/website"><img src="https://opencollective.com/ajv/organization/0/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/1/website"><img src="https://opencollective.com/ajv/organization/1/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/2/website"><img src="https://opencollective.com/ajv/organization/2/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/3/website"><img src="https://opencollective.com/ajv/organization/3/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/4/website"><img src="https://opencollective.com/ajv/organization/4/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/5/website"><img src="https://opencollective.com/ajv/organization/5/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/6/website"><img src="https://opencollective.com/ajv/organization/6/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/7/website"><img src="https://opencollective.com/ajv/organization/7/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/8/website"><img src="https://opencollective.com/ajv/organization/8/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/9/website"><img src="https://opencollective.com/ajv/organization/9/avatar.svg"></a>
## Using version 6
[JSON Schema draft-07](http://json-schema.org/latest/json-schema-validation.html) is published.
[Ajv version 6.0.0](https://github.com/epoberezkin/ajv/releases/tag/v6.0.0) that supports draft-07 is released. It may require either migrating your schemas or updating your code (to continue using draft-04 and v5 schemas, draft-06 schemas will be supported without changes).
__Please note__: To use Ajv with draft-06 schemas you need to explicitly add the meta-schema to the validator instance:
```javascript
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
```
To use Ajv with draft-04 schemas in addition to explicitly adding meta-schema you also need to use option schemaId:
```javascript
var ajv = new Ajv({schemaId: 'id'});
// If you want to use both draft-04 and draft-06/07 schemas:
// var ajv = new Ajv({schemaId: 'auto'});
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
```
## Contents
- [Performance](#performance)
- [Features](#features)
- [Getting started](#getting-started)
- [Frequently Asked Questions](https://github.com/epoberezkin/ajv/blob/master/FAQ.md)
- [Using in browser](#using-in-browser)
- [Command line interface](#command-line-interface)
- Validation
- [Keywords](#validation-keywords)
- [Annotation keywords](#annotation-keywords)
- [Formats](#formats)
- [Combining schemas with $ref](#ref)
- [$data reference](#data-reference)
- NEW: [$merge and $patch keywords](#merge-and-patch-keywords)
- [Defining custom keywords](#defining-custom-keywords)
- [Asynchronous schema compilation](#asynchronous-schema-compilation)
- [Asynchronous validation](#asynchronous-validation)
- [Security considerations](#security-considerations)
- [Security contact](#security-contact)
- [Untrusted schemas](#untrusted-schemas)
- [Circular references in objects](#circular-references-in-javascript-objects)
- [Trusted schemas](#security-risks-of-trusted-schemas)
- [ReDoS attack](#redos-attack)
- Modifying data during validation
- [Filtering data](#filtering-data)
- [Assigning defaults](#assigning-defaults)
- [Coercing data types](#coercing-data-types)
- API
- [Methods](#api)
- [Options](#options)
- [Validation errors](#validation-errors)
- [Plugins](#plugins)
- [Related packages](#related-packages)
- [Some packages using Ajv](#some-packages-using-ajv)
- [Tests, Contributing, History, Support, License](#tests)
## Performance
Ajv generates code using [doT templates](https://github.com/olado/doT) to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization.
Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks:
- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - 50% faster than the second place
- [jsck benchmark](https://github.com/pandastrike/jsck#benchmarks) - 20-190% faster
- [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html)
- [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html)
Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark):
[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:|djv|ajv|json-schema-validator-generator|jsen|is-my-json-valid|themis|z-schema|jsck|skeemas|json-schema-library|tv4&chd=t:100,98,72.1,66.8,50.1,15.1,6.1,3.8,1.2,0.7,0.2)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance)
## Features
- Ajv implements full JSON Schema [draft-06/07](http://json-schema.org/) and draft-04 standards:
- all validation keywords (see [JSON Schema validation keywords](https://github.com/epoberezkin/ajv/blob/master/KEYWORDS.md))
- full support of remote refs (remote schemas have to be added with `addSchema` or compiled to be available)
- support of circular references between schemas
- correct string lengths for strings with unicode pairs (can be turned off)
- [formats](#formats) defined by JSON Schema draft-07 standard and custom formats (can be turned off)
- [validates schemas against meta-schema](#api-validateschema)
- supports [browsers](#using
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
微信小程序,考试小程序,答题小程序,刷题小程序。毕业设计小程序,有前后端完整源码和数据库,易于二次开发。还可用于考试预约,企业内部考核,内部培训等,职业考试刷题,基于云开发,部署简单,免服务器和域名备案。 适用场景 1 ·企业招聘考试。候选人等候时面试可手机扫码参加笔试,系统实时生成结果,一个简单的考核就可让面试官提前了解候选人的能力 情况。在大规模校园聘会上公布考试地址,考生现场完成考试,现场出分,主办方可快速筛选合格考生参加面试,大大缩短招聘周期和成本。 2 ·企事业举报活动,知识竞赛,可以在某一个时间段发布活动,供用户参加比赛,前几名可以获得奖品。 3 ·培训认证考试。培训机构结业认证考核,行业从业资格认证,能力认证考核等,题答答提供从考生报名到参加考试的全流程功能。 无限制题库刷题,错题训练,随机题序,答案解析,错题本重练,让刷题不止追求量,也有质的保障,帮助考生更熟练地掌握知识点, 提高考试通过率。 特点 + 答题分单题模式和列表模式 + 查看分数 + 查看答案 + 错题提醒 + 查看答题历史记录 + 查看错题记录 + 生成海报 + 选择题支持
资源推荐
资源详情
资源评论
收起资源包目录
考试答题刷题微信小程序,前后端完整源码和数据库,优秀毕业设计系统! (6314个子文件)
sshpk-conv.1 4KB
sshpk-conv.1 4KB
sshpk-sign.1 2KB
sshpk-sign.1 2KB
sshpk-verify.1 2KB
sshpk-verify.1 2KB
package.json.2130731768 3KB
package.json.2804313279 5KB
package.json.797468016 4KB
package.json.883558000 2KB
address 673B
address 673B
AUTHORS 217B
AUTHORS 217B
AUTHORS 169B
AUTHORS 169B
README.md.bak 7KB
README.md.bak 7KB
range.bnf 619B
range.bnf 619B
calendar 945B
calendar 945B
card 2KB
card 2KB
sshpk-verify.cmd 186B
sshpk-sign.cmd 182B
sshpk-conv.cmd 182B
pbjs.cmd 180B
pbts.cmd 180B
semver.cmd 176B
uuid.cmd 168B
CODEOWNERS 11B
CODEOWNERS 11B
performance-now.coffee 1KB
performance-now.coffee 1KB
scripts.coffee 1KB
scripts.coffee 1KB
performance-now.coffee 553B
performance-now.coffee 553B
delayed-require.coffee 362B
delayed-require.coffee 362B
delayed-call.coffee 358B
delayed-call.coffee 358B
initial-value.coffee 313B
initial-value.coffee 313B
difference.coffee 175B
difference.coffee 175B
jsl.node.conf 7KB
jsl.node.conf 7KB
qunit.css 3KB
qunit.css 3KB
errors.def 8KB
errors.def 8KB
definitions.def 4KB
definitions.def 4KB
coerce.def 2KB
coerce.def 2KB
defaults.def 1KB
defaults.def 1KB
missing.def 1KB
missing.def 1KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.editorconfig 399B
.editorconfig 399B
.editorconfig 286B
.editorconfig 286B
.editorconfig 286B
.editorconfig 286B
.editorconfig 148B
.editorconfig 148B
.editorconfig 142B
共 6314 条
- 1
- 2
- 3
- 4
- 5
- 6
- 64
振华OPPO
- 粉丝: 27w+
- 资源: 533
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页