JSON Schema サンプル生成ツール
JSON Schema から再現可能な有効・無効のテストデータを作成します。各サンプルは提示前に JSON Schema バリデーターで確認されます。
最大 50,000 文字のスキーマ、有効なサンプル 1~100 個、無効なサンプル 0~100 個を受け付けます。結果は最大 4,000,000 文字です。すべてブラウザー内で実行されます。JSON レポートと JSON Lines ファイルをダウンロードできます。 JSON または YAML で一つのスキーマを貼り付けます。ローカルの $ref リンクをたどります。 最大50,000文字。 実行前に設定を確認してください。
処理結果
JSON Schema サンプル生成ツール
- JSON または YAML として JSON Schema を貼り付けます。
- seed と、有効・無効サンプルの個数を選択します。
- ジェネレーターを実行し、無効なサンプルがどの規則に違反するか確認します。
- レポートまたは JSON Lines ファイルをダウンロード
できること・制限
最大 50,000 文字のスキーマ、有効なサンプル 1~100 個、無効なサンプル 0~100 個を受け付けます。結果は最大 4,000,000 文字です。すべてブラウザー内で実行されます。JSON レポートと JSON Lines ファイルをダウンロードできます。
サンプルの作成方法
ジェネレーターはシード付き乱数生成器でスキーマをたどり、型、enum、範囲、長さ、単純なパターン、一般的な形式から値を選ぶため、同じシードなら同じサンプルになります。各候補は Ajv で検証されます。不合格の候補は置き換えられ、25 回試しても生成できない場合は出力せず、生成できなかったサンプルとして記載されます。
無効なサンプル
無効なサンプルは有効なサンプルを基に、型違い、必須プロパティの欠落、enum や範囲外の値、余分なプロパティなど、規則を一つずつ破って作成します。それぞれ再検証され、失敗したキーワードがレポートに表示されます。
制限
スキーマ内のローカル参照だけをたどります。他のファイルや URL(URLs)の参照は取得しません。複雑な正規表現、not と oneOf の一部の組み合わせは、生成ツールが対応する検索範囲を超えることがあります。そのようなサンプルは生成されなかったものとして報告されます。__proto__ をプロパティ、パターン、依存関係のキーとして使うスキーマは、同梱バリデーターがそのキーを確実に検査できないため拒否されます。リテラルのインスタンスデータに含まれるそのキーは保持されます。