<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)
[![Greenkeeper badge](https://badges.greenkeeper.io/epoberezkin/ajv.svg)](https://greenkeeper.io/)
[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv)
## 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-in-browser) and Node.js 0.10-8.x
- [asynchronous loading](#asynchronous-schema-compilation) of referenced schemas during compilation
- "All errors" validation mode with [option allErrors](#options)
- [error messages with parameters](#validation-errors) describing error reasons to allow creating custom error messages
- i18n error messages support with [ajv-i18n](https://github.com/epoberezkin/ajv-i18n) package
- [filtering data](#filtering-data) from additional properties
- [assigning defaults](#assigning-defaults) to missing properties and items
- [coercing data](#coercing-data-types) to the types specified in `type` keywords
- [custom keywords](#defining-custom-keywords)
- draft-06/07 keywords `const`, `contains`, `propertyNames` and `if/then/else`
- draft-06 boolean schemas (`true`/`false` as a schema to always pass/fail).
- keywords `switch`, `patternRequired`, `formatMaximum` / `formatMinimum` and `formatExclusiveMaximum` / `formatExclusiveMinimum` from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) with [ajv-keywords](https://github.com/epoberezkin/ajv-keywords) package
- [$data reference](#data-reference) to use values from the validated data as values for the schema keywords
- [asynchronous validation](#asynchronous-validation) of custom formats and keywords
Currently Ajv is the only validator that passes all the tests from [JSON Schema Test Suite](https://github.com/json-schema/JSON-Schema-Test-Suite) (according to [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark), apart from the test that requires that `1.0` is not an integer that is impossible to satisfy in JavaScript).
## Install
```
npm install ajv
```
## <a name="usage"></a>Getting started
Try it in the Node.js REPL: https://tonicdev.com/npm/ajv
The fastest validation call:
```javascript
// Node.js require:
var Ajv = require('ajv');
// or ESM/TypeScript import
import Ajv from 'ajv';
var ajv = new Ajv(); // options can be passed, e.g. {allErrors: true}
var validate = ajv.compile(schema);
var valid = validate(data);
if (!valid) console.log(validate.errors);
```
or with less code
```javascript
// ...
var valid = ajv.validate(schema, data);
if (!valid) console.log(ajv.errors);
// ...
```
or
```javascript
// ...
var valid = ajv.addSchema(schema, 'mySchema')
.validate('mySchema', data);
if (!valid) console.log(ajv.errorsText());
// ...
```
See [API](#api) and [Options](#options) for more details.
Ajv compiles schemas to functions and caches them in all cases (using schema serialized with [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) or a custom function as a key), so that the next time the same schema is used (not necessarily the same object instance) it won't be compiled again.
The best p
没有合适的资源?快使用搜索试试~ 我知道了~
瀚洋视频直播抖音短视频直播带货自动发言+直播间带游戏三端互通,pc+安卓
共2000个文件
js:13365个
php:1828个
md:1606个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 162 浏览量
2022-07-02
10:50:38
上传
评论 1
收藏 546.95MB ZIP 举报
温馨提示
瀚洋视频直播/抖音短视频/直播带货/自动发言+直播间带游戏/三端互通,pc+安卓(运营版)Web+安卓+H5+短视频+vip守护+进场坐骑+主播pk+互动连麦+直播间红包+直播间幸运礼物+商城+进场提醒+收费房间试看瀚洋直播系统功能亮点:1直播带货(主播端可开店带货)2抖音短视频(高仿抖音视频)3动态朋友圈(朋友圈可发视频、图片可评论点赞)4远程礼物(无人直播云端蹦迪,剧本模式可远程遥控主播增强娱乐互动性)5粉丝团英雄帖(1元吸粉、充值转换利器)6超级抽奖(直播间线上线下抽奖增强粉丝积极性)7豪华礼物全站飘屏提醒(特殊豪华礼物全站直播间提醒点击可进入围观)8小时榜(优化了im及socket增加小时统计增强主播热情)9pk时粉丝可直接进入对方直播间10自动发言机器人(可后台设置内容随机发言增强代入感)11依旧小平台DIY傻瓜式操作部分介绍(后台可控、带跳转外站、前端H5输出可Web修改二开)1.首页双轮播2.落地页广告按钮3.直播间滚动字幕4.直播间落地广告按钮5.直播间轮播BannerDIY部分的功能基本都是后台可控或是web即可修改二开的、通过前端图片按钮、H5页面的调整以达到平台个
资源推荐
资源详情
资源评论
收起资源包目录
瀚洋视频直播抖音短视频直播带货自动发言+直播间带游戏三端互通,pc+安卓 (2000个子文件)
bootstrap.min.css 123KB
bootstrap.min.css 123KB
bootstrap.min.css 123KB
bootstrap.min.css 123KB
bootstrap.min.css 122KB
bootstrap.min.css 122KB
showApp.css 106KB
show.css 106KB
playback.css 59KB
ueditor.css 43KB
video-js.min.css 40KB
video-js.min.css 40KB
personal.css 35KB
ueditor.min.css 34KB
font-awesome.min.css 30KB
index.css 28KB
style.css 25KB
chunk-common-b8bb3c5b.chunk.css 23KB
animate.css 23KB
font-awesome.min.css 21KB
video-js.css 21KB
swiper.css 20KB
image.css 18KB
noty.css 17KB
common.css 17KB
family.css 15KB
video.css 15KB
layer.css 14KB
attachment.css 14KB
index-bf944a8f.css 13KB
style.css 13KB
swiper.min.css 13KB
simplebootadminindex.min.css 12KB
simplebootadminindex.min.css 12KB
simplebootadminindex.min.css 12KB
simplebootadminindex.min.css 12KB
simplebootadminindex.min.css 12KB
simplebootadminindex.min.css 12KB
bootstrap-datetimepicker.css 12KB
payment.css 12KB
video-js.min.css 11KB
style.css 9KB
mall.css 8KB
laydate.css 8KB
blue.css 8KB
default.css 8KB
login.css 7KB
shop.css 7KB
shCoreDefault.css 7KB
common.css 7KB
admin_index.css 7KB
style.css 6KB
index.css 6KB
jquery.ui.plupload.css 6KB
layer.css 5KB
homepage.css 5KB
level.css 4KB
agent.css 4KB
style.css 4KB
jquery.plupload.queue.css 4KB
scrawl.css 4KB
contribute.css 3KB
liang.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
qunit.css 3KB
colorpicker.css 3KB
codemirror.css 3KB
detail.css 3KB
style.css 3KB
login.css 3KB
charts.css 3KB
auth.css 3KB
index.css 2KB
car.css 2KB
background.css 2KB
programe.css 2KB
bond.css 2KB
order.css 2KB
jquery.Jcrop.min.css 2KB
page.css 2KB
emotion.css 2KB
feedback.css 2KB
dialogbase.css 2KB
iconfont.css 2KB
iconfont.css 2KB
music.css 2KB
down.css 1KB
treeTable.css 1KB
edittable.css 1KB
template.css 1KB
404.css 962B
auth_status.css 918B
app.css 748B
cash.css 677B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- 良龙大哥2022-07-29这个资源总结的也太全面了吧,内容详实,对我帮助很大。
智慧浩海
- 粉丝: 1w+
- 资源: 5439
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功