<img align="right" alt="Ajv logo" width="160" src="https://ajv.js.org/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/ajv-validator/ajv.svg?branch=master)](https://travis-ci.org/ajv-validator/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/github/ajv-validator/ajv/badge.svg?branch=master)](https://coveralls.io/github/ajv-validator/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)
## Mozilla MOSS grant and OpenJS Foundation
[<img src="https://www.poberezkin.com/images/mozilla.png" width="240" height="68">](https://www.mozilla.org/en-US/moss/) [<img src="https://www.poberezkin.com/images/openjs.png" width="220" height="68">](https://openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/)
Ajv has been awarded a grant from Mozilla’s [Open Source Support (MOSS) program](https://www.mozilla.org/en-US/moss/) in the “Foundational Technology” track! It will sponsor the development of Ajv support of [JSON Schema version 2019-09](https://tools.ietf.org/html/draft-handrews-json-schema-02) and of [JSON Type Definition](https://tools.ietf.org/html/draft-ucarion-json-type-definition-04).
Ajv also joined [OpenJS Foundation](https://openjsf.org/) – having this support will help ensure the longevity and stability of Ajv for all its users.
This [blog post](https://www.poberezkin.com/posts/2020-08-14-ajv-json-validator-mozilla-open-source-grant-openjs-foundation.html) has more details.
I am looking for the long term maintainers of Ajv – working with [ReadySet](https://www.thereadyset.co/), also sponsored by Mozilla, to establish clear guidelines for the role of a "maintainer" and the contribution standards, and to encourage a wider, more inclusive, contribution from the community.
## Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin)
Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant!
Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released.
Please sponsor Ajv via:
- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it)
- [Ajv Open Collective️](https://opencollective.com/ajv)
Thank you.
#### 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/ajv-validator/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/ajv-validator/ajv/blob/master/FAQ.md)
- [Using in browser](#using-in-browser)
- [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp)
- [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, Changes history](#tests)
- [Support, Code of conduct, License](#open-source-software-support)
## 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)](
没有合适的资源?快使用搜索试试~ 我知道了~
uniapp使用微信小程序云数据库实现一对一实时聊天
共3503个文件
js:1918个
ts:553个
md:310个
需积分: 50 17 下载量 77 浏览量
2020-09-27
17:49:49
上传
评论 2
收藏 5.99MB RAR 举报
温馨提示
uniapp实现使用微信云数据库实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,
资源推荐
资源详情
资源评论
收起资源包目录
uniapp使用微信小程序云数据库实现一对一实时聊天 (3503个子文件)
005851eca80a8ed2cdd19a92c7f6041405524c 139B
015ad2c92bddf50720c5594cc2da5f83dfb58a 131B
0a98aef67d023824db920fdfd3fa50402bf4fc 30KB
0bae9539db98059f0c2c66b24e80d617cd87d1 213KB
0caaae7ef705565a388eb838e5d7f632436391 104B
sshpk-conv.1 4KB
sshpk-sign.1 2KB
sshpk-verify.1 2KB
1279ee079bedcf700b5f7728a7dc70abf421fb 869B
202c46491ad9742bf160959f3804d97b90aa9b 45B
29bb2033bc93c8759d9ffa698ae7db6178936e 135B
2c7d0b31fba7479d6e4bf65f53d28e9a42fd44 144B
35616294a208e713179a82087bf9341a783cb8 889B
35af0699ccec004cbe685ef938cd2d63ea7037 43B
36d7dea9a567c1dcadd82052469b292020bc75 1KB
3bedf0f80d328e1b36eab2c9e0ccc8df252423 2KB
3d2dabefba1202e0b8180e36ac7cecfc589b30 144B
44cb4d4078cc23eab43ccfaba7e0f3c8bf0aac 596B
46d682d72c25742505a45f9ee736a6fd742c41 243B
4cc3a0f61efb0d4b6a183a2ed05d010b811dfb 360B
5b29748c62ccf8ee238390b6ee075dfcd6fbb1 107B
5bd66fa13c975dc80bfcd32b97f4fb1a65bb97 190B
67fe349f133caa934c0c0fdeb4809088183793 301B
6f2604046c3184f166fec29fd5ab07ca7d8540 513B
72c72585de70bdc5db6786f610ce32d4a3e506 241B
75d1b8fadae381488ab3296b7a2e699a700a0a 54B
81c24e4d89273bb788731978c4e064c69b23bb 2KB
83cd64e5c4788d74806598240b2864fe5092a2 139B
87d95804ce5c3b92557ec23411e13be782910a 394B
913fabbae5aaf50edccac38ca315d7febf9a8d 91B
94aa18b582e77e9572031c4049331053a28f64 305B
9561db99858b0d4e503b895f3cc0349abefb42 2KB
9570923ffd7f0d9a7fdbf3a53574fe6e834974 300B
9aa65fbbd332361b4e550255405f45ad51b379 138B
9db90f7ffb83d745fdb8dc73a998281fa739c2 1KB
a1063cdbed185a8e327d1900ac8cdef57d1db8 2KB
a11649c48c80ae8e70d58944fa4077bfc0875c 350B
a580ea37fe152288db122527fa246fd923a902 185B
a81a69fd48d13302d8cedd66a432ae61e18b58 2KB
a88e438fb1c677f771d38abf03fb2db78fe77c 372B
aa2ea2a1a7067cd0e7671b4dafff33294fa717 81B
aca52931c6369ac1ed3bac37af35a422781eb8 82B
address 692B
AUTHORS 217B
AUTHORS 169B
b47d1b7f829902521cf413f979b3375ac62a46 475B
b4a8d469ea64913c25b5c041ecd50246cf3358 191B
b4a97ea980c65a99ac0c0d380d044c22203904 265B
b563329b786e0e3ecb3bb892979273bacdc078 2KB
b776e302cc2e8a6f864e47b8b765b39816e6d9 63B
b7d28b0103b71c97f6b7d38b1ab20f4e5f27d7 125B
README.md.bak 7KB
be219d61014996261579695979cd82d8bfab78 202B
range.bnf 619B
c308c2dd58f36e33b530597e305c624335e8f6 86B
calendar 998B
card 2KB
cb00c804334d987e8d784e354333fe771dd718 618B
cb4fc0dbb112b9e13867b61e64f4ea3a65fe94 4KB
ts-script.cmd 297B
ts-node-transpile-only.cmd 289B
ts-node-script.cmd 286B
sshpk-verify.cmd 282B
sshpk-conv.cmd 280B
sshpk-sign.cmd 280B
ts-node.cmd 279B
pbts.cmd 279B
pbjs.cmd 279B
semver.cmd 277B
uuid.cmd 273B
CODEOWNERS 11B
performance-now.coffee 1KB
scripts.coffee 1KB
performance-now.coffee 553B
delayed-require.coffee 362B
delayed-call.coffee 358B
initial-value.coffee 313B
difference.coffee 175B
jsl.node.conf 7KB
config 130B
item_pic.jpg.crdownload 217KB
icon.css 5KB
errors.def 8KB
definitions.def 4KB
coerce.def 2KB
defaults.def 1KB
missing.def 1KB
description 73B
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 10KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
e349f19b09e142bb18958b9d943035f842a78e 572B
共 3503 条
- 1
- 2
- 3
- 4
- 5
- 6
- 36
资源评论
键盘上的那抹灰
- 粉丝: 244
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- main.c
- Unity 创建快捷方式自动启动
- 一分钟一条原创视频,蹭热点撸收益,条条爆款,狂撸各大平台,轻松日入1000+-教程网盘链接提取码下载 .txt
- 51单片机实现万年历,包括闹钟的设置与秒表功能(汇编)
- STM32单片机FPGA毕设电路原理论文报告铁合金电炉单片机电力监控系统的研究
- STM32单片机FPGA毕设电路原理论文报告贴片元件封装机的智能控制系统设计
- STM32单片机FPGA毕设电路原理论文报告体育高考投篮自动测试系统的设计与实现
- STM32单片机FPGA毕设电路原理论文报告提高放疗精度的单片机控制方法
- C++ matplot学习及demo实操
- STM32单片机FPGA毕设电路原理论文报告提高单晶炉加热电源控制电路精度的研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功