JSON Schema バリデーター
JSON データを JSON Schema 定義に対して検証。パス付きの詳細なエラーレポートを取得。すべてブラウザ内で処理。
JSON データは指定されたスキーマに対して有効です!
| パス | エラー |
|---|
JSON Schema バリデーターの使い方
スキーマを入力
期待される構造を記述する JSON Schema を定義してください。
データを入力
スキーマに対して検証したい JSON データを貼り付けてください。
検証
検証をクリックして、エラーの有無を確認してください。
JSON Schema とは
JSON Schema は、JSON ドキュメントの注釈付けと検証を可能にする語彙です。アプリケーションに必要な JSON データの契約と、そのデータとの相互作用方法を提供します。JSON Schema は検証、ドキュメント作成、モックデータ生成に使用されます。
主な特徴
型検証
string、number、integer、boolean、array、object、null の型を検証
制約
最小/最大長、範囲、パターン、必須フィールドなど
構造定義
ネストされたオブジェクト、配列、複雑なデータ構造を定義
よくある質問
このツールは Ajv ライブラリを通じて JSON Schema Draft-07、Draft 2019-09、Draft 2020-12 に対応しています。最も一般的なスキーマ機能に対応しています。
はい!JSON Schema は深くネストされたオブジェクトと配列に対応しています。任意のネストレベルでプロパティとアイテムを定義し、各フィールドに個別の検証ルールを設定できます。
ツールはまずスキーマ自体が有効な JSON Schema であるかを検証します。スキーマにエラーがある場合、データの検証を試みる前にそのエラーが報告されます。
type(string、number、object、array、boolean、null)、ネストされたスキーマを持つ properties、必須キーを列挙する required、固定値セット用の enum、正規表現で文字列を制約する pattern、そして範囲チェックの minimum/maximum と minLength/maxLength がよく使われます。additionalProperties: false を使うと、オブジェクトに余分なキーが入るのを防げます。これらを組み合わせることで、API 検証ルールの大部分をカバーできます。
現代の JSON Schema では、format はデフォルトでは自動的なアサーションではなく注釈(annotation)です。バリデーターは設定された場合にのみこれを強制します。このことは 2020-12 仕様で、独立した format-assertion ボキャブラリーによって明示されました。強制を保証する必要がある場合は pattern やカスタムキーワードを使用し、そうでない場合は format を相互運用性のためのメタデータとして扱ってください。
#/$defs/address を指す $ref は、$defs 配下のスキーマフラグメントを参照し、使用される場所すべてでそのフラグメントに対して検証を行います。これが重複を排除する仕組みです。ドラフト 2020-12 では、以前の definitions が $defs に改名され、コメントツリーのような再帰的構造のために $dynamicRef が正式化されました。参照は外部ドキュメントを指すこともできますが、ローカルにバンドルする方が一般的です。
allOf はすべてのサブスキーマの検証を要求します。これは積集合であり、ベーススキーマに追加の制約を合成するために使われます。anyOf は少なくとも 1 つのサブスキーマの検証を要求します。これは和集合であり、ポリモーフィックなペイロードに使われます。oneOf はちょうど 1 つだけの検証を要求します。2 つまたは 0 個のサブスキーマが検証を通ると失敗となり、これは人が期待するよりも厳しく、重複するスキーマで予期しないエラーが発生するよくある原因です。
2020-12 では、仕様が個別に交渉可能なボキャブラリー(validation、annotation、format-assertion)に分割され、definitions が $defs に改名され、exclusiveMinimum が単純な数値に簡略化され、旧来の items キーワードが prefixItems と items に置き換えられました。ほとんどのツールは両方をサポートしており、draft-07 が依然として最も広く展開されていますが、2020-12 が現行の公開標準です。
関連ツール
権威ある参考文献
このツールの根拠となる一次資料です。二次的な要約ではなく、公式の標準規格と仕様に基づいています。