TL;DR

JavaScript の JSON Schema バリデータ。JSON のデータを宣言的なスキーマで検証でき、検証のコードを手で書かなくてよい。

仕組み

スキーマを最適化した JavaScript のコードにコンパイルすることで、速く検証する。対応している仕様は JSON Schema の draft-04、06、07、2019-09、2020-12 と、JSON Type Definition(RFC 8927)である。Node.js、ブラウザ、Electron などで使える。

注意点

コンパイルされた検証関数の実行はとても速いが、コンパイル自体は比較的遅い。スキーマは一度だけコンパイルし、compile や getSchema が返す関数を使い回す。

検証関数を呼ぶたびに errors プロパティは上書きされる。エラーを後で使うなら、別の変数に配列を退避しておく。

関連

出典