Самый быстрый валидатор JSON для Node.js и браузера.
Поддерживает схему JSON Draft-04/06/07/2019-09/2020-12 (для поддержки Draft-04 требуется пакет ajv-draft-04) и определение типа JSON RFC8927.
В Ajv внесли свой вклад более 100 человек, и мы будем рады, если вы присоединитесь к разработке. Мы приветствуем внедрение новых функций, которые принесут пользу многим пользователям, а также идеи по улучшению нашей документации.
Ознакомьтесь с рекомендациями по участию и компонентами кода.
Вся документация доступна на сайте Ajv.
Несколько полезных ссылок на сайт:
Поскольку я попросил поддержать разработку Ajv, 40 человек и 6 организаций внесли свой вклад через GitHub и OpenCollective — эта поддержка помогла получить грант MOSS!
Ваша постоянная поддержка очень важна — средства будут использованы для разработки и поддержки Ajv после выхода следующей основной версии.
Пожалуйста, спонсируйте Ajv через:
Спасибо.
Ajv генерирует код для превращения схем JSON в сверхбыстрые функции проверки, эффективные для оптимизации v8.
В настоящее время Ajv является самым быстрым и наиболее совместимым со стандартами валидатором согласно следующим критериям:
Производительность различных валидаторов по json-schema-benchmark:
addSchema
или скомпилировать)type
Чтобы установить версию 8:
npm install ajv
Попробуйте это в REPL Node.js: 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 и обеспечивает централизованную поддержку пользователям программного обеспечения с открытым исходным кодом в дополнение к поддержке, предоставляемой сопровождающими программного обеспечения.
Массачусетский технологический институт