<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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
排名第一的接口测试工具Postman。告别龟速网络,直接下载。 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。
资源推荐
资源详情
资源评论
收起资源包目录
Postman-osx-7.27.0.zip (2000个子文件)
benchmark-native.c 613B
requester.css 3.04MB
runner.css 468KB
console.css 345KB
proxyAuth.css 306KB
site.dibs-bootstrap.css 169KB
site.paper.css 164KB
site.slate.css 161KB
site.lumen.css 153KB
site.spacelab.css 151KB
site.yeti.css 150KB
site.darkly.css 150KB
site.flatly.css 149KB
site.cerulean.css 149KB
site.superhero.css 149KB
site.simplex.css 148KB
site.cosmo.css 147KB
site.cyborg.css 147KB
site.sandstone.css 147KB
site.readable.css 146KB
site.journal.css 146KB
site.united.css 144KB
site.darkstrap.css 134KB
authentication.css 86KB
darkstrap.css 23KB
styles.min.css 20KB
sunlight.dark.css 8KB
sunlight.default.css 8KB
vendor.min.css 8KB
mocha.css 5KB
base.css 5KB
qunit.css 3KB
mocha.css 3KB
loader.css 3KB
prettify-tomorrow.css 2KB
prettify.css 676B
RACSignal+Operations.h 32KB
metamacros.h 30KB
RACStream.h 13KB
RACSignal.h 9KB
MTLManagedObjectAdapter.h 9KB
SQRLUpdater.h 8KB
MTLJSONAdapter.h 7KB
RACScheduler.h 7KB
RACSequence.h 6KB
RACTuple.h 5KB
MTLModel.h 5KB
MTLModel+NSCoding.h 5KB
RACCommand.h 5KB
NSObject+RACPropertySubscribing.h 5KB
RACKVOChannel.h 4KB
EXTScope.h 4KB
NSValueTransformer+MTLPredefinedTransformerAdditions.h 4KB
ReactiveCocoa.h 4KB
NSObject+RACSelectorSignal.h 4KB
RACBacktrace.h 3KB
RACChannel.h 3KB
NSObject+RACLifting.h 3KB
EXTKeyPathCoding.h 2KB
RACSubscriptingAssignmentTrampoline.h 2KB
RACMulticastConnection.h 2KB
NSObject+RACAppKitBindings.h 2KB
RACCompoundDisposable.h 2KB
RACSubscriber.h 2KB
RACSerialDisposable.h 2KB
RACEvent.h 2KB
RACTestScheduler.h 1KB
RACQueueScheduler+Subclass.h 1KB
NSDictionary+RACSequenceAdditions.h 1KB
NSObject+RACDeallocating.h 1022B
MTLValueTransformer.h 991B
SQRLUpdate.h 972B
SQRLDownloadedUpdate.h 963B
RACDisposable.h 941B
RACScheduler+Subclass.h 939B
NSArray+MTLManipulationAdditions.h 873B
Mantle.h 832B
NSUserDefaults+RACSupport.h 817B
NSDictionary+MTLManipulationAdditions.h 807B
NSURLConnection+RACSupport.h 730B
RACTargetQueueScheduler.h 706B
RACReplaySubject.h 656B
NSString+RACSupport.h 608B
Squirrel.h 587B
NSControl+RACTextSignalSupport.h 568B
NSBundle+SQRLVersionExtensions.h 560B
NSControl+RACCommandSupport.h 560B
NSValueTransformer+MTLInversionAdditions.h 553B
RACSubject.h 548B
NSString+RACSequenceAdditions.h 547B
NSData+RACSupport.h 536B
NSIndexSet+RACSequenceAdditions.h 523B
RACQueueScheduler.h 521B
RACBehaviorSubject.h 517B
NSOrderedSet+RACSequenceAdditions.h 496B
RACScopedDisposable.h 486B
NSArray+RACSequenceAdditions.h 486B
NSSet+RACSequenceAdditions.h 482B
NSEnumerator+RACSequenceAdditions.h 479B
RACGroupedSignal.h 427B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
jackqqw
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功