Node.js およびブラウザー用の最速の JSON バリデーター。
JSON スキーマdraft-04/06/07/2019-09/2020-12 (draft-04 のサポートには ajv-draft-04 パッケージが必要) および JSON 型定義 RFC8927 をサポートします。
Ajv には 100 人を超える人々が貢献してくれました。ぜひ開発に参加していただきたいと思っています。多くのユーザーに利益をもたらす新機能の実装や、ドキュメントを改善するためのアイデアを歓迎します。
貢献ガイドラインとコードコンポーネントを確認してください。
すべてのドキュメントは Ajv Web サイトから入手できます。
役立つサイトのリンク:
Ajv 開発のサポートを依頼して以来、GitHub と OpenCollective 経由で 40 人の人々と 6 つの組織が貢献しました。このサポートは MOSS 助成金の受け取りに役立ちました。
継続的なサポートは非常に重要です。資金は、次のメジャー バージョンがリリースされた後、Ajv の開発と維持に使用されます。
Ajv をスポンサーしてください:
ありがとう。
Ajv は、JSON スキーマを v8 最適化に効率的な超高速検証関数に変換するコードを生成します。
現在、Ajv は、次のベンチマークによると、最も高速で最も標準に準拠したバリデータです。
json-schema-benchmark によるさまざまなバリデーターのパフォーマンス:
addSchema
を使用して追加するか、コンパイルする必要があります)type
キーワードで指定された型に強制するバージョン 8 をインストールするには:
npm install ajv
Node.js REPL で試してください: 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 サブスクリプションの一部であり、ソフトウェア メンテナによるサポートに加えて、オープンソース ソフトウェア ユーザーに一元的なサポートを提供します。
マサチューセッツ工科大学