ツール

JSON Schema バリデーター

Ajv で JSON ドキュメントを JSON Schema に照らして検証し、最初の 1 件だけでなく失敗したすべてのパスを表示します。

ブラウザ内で実行AI 開発ツール1.5万
無料

入力

0 B

結果

結果はここに表示されます。

モデルの構造化出力、Webhook のペイロード、設定ファイルが弾かれたとき、本当に役立つ答えは一覧です。どのパスが失敗し、それぞれがどのルールに違反しているのか。このバリデーターは、JavaScript の多くのツールの土台になっている JSON Schema 実装 Ajv を allErrors を有効にして実行するので、問題が 5 つあるドキュメントなら 5 行表示されます。各行には値への JSON ポインター、メッセージ、そのエラーを出したスキーマ内のパスが並びます。スキーマはスキーマ欄に、ドキュメントは入力欄に入れてください。

動作のしくみ

  • 方言はスキーマ自身の $schema に従います。2020-12 と 2019-09 は Ajv の対応するクラスを、draft-07 または宣言なしの場合は既定のクラスを使います。
  • ajv-formats を読み込んでいるため、email、date-time、uri、uuid などの format キーワードは黙って無視されず、きちんと検証されます。
  • Ajv の strict モードはオフなので、examples やベンダー独自キーワードのような注釈があっても検証は止まりません。スキーマ自体が不正な場合はその旨を報告します。

データの行き先

どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。

このツールは無料で登録不要です。結果は開いているページの中にだけあり、どこにも保存されません。

必要なポイント

このツールは無料です。ログインもポイントも必要ありません。

よくある質問

draft-04 のスキーマが受け付けられないのはなぜですか?
draft-04 では exclusiveMinimum と exclusiveMaximum が真偽値として定義されていますが、後のドラフトでは数値に変わりました。そのため古いスキーマを新しい方言で実行すると、本来失敗すべきデータが通ってしまうことがあります。推測で処理する代わりに、このツールは $schema の更新をお願いしています。draft-06 のスキーマはキーワードが追加されただけなので、draft-07 として受け付けて検証します。
「at」の後ろにあるパスは何を意味しますか?
失敗したルールのスキーマパスで、たとえば #/properties/items/items/properties/price/minimum のようになります。各行の最初のパスはデータ内を指し、この 2 つ目のパスはスキーマ内を指します。間違っていたのがデータではなくスキーマのほうだったと分かったときに必要になるのがこちらです。
$ref の URL をインターネットから取得しますか?
いいえ。同じスキーマ内の参照(#/$defs/… や #/definitions/…)は解決しますが、リモートの $ref URL はダウンロードしません。リモート参照に依存するスキーマは、その参照名を示すメッセージとともにコンパイルに失敗します。オフラインで検証するには、参照先の定義を $defs に貼り付けてください。

背後にあるオープンソース

このツールは ajv-validator/ajv(MIT)の上で動作しています。同じ処理を自分のプログラムに組み込みたい場合は、そのライブラリを使ってください。

ajv-validator/ajv

別の呼び方

  • json schema バリデーター
  • json schema 検証
  • ajv オンライン
  • json schema 2020-12
  • json schema draft 7
  • json バリデーション オンライン