happytails.ai
日本語

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 サンプル生成ツール
  1. JSON または YAML として JSON Schema を貼り付けます。
  2. seed と、有効・無効サンプルの個数を選択します。
  3. ジェネレーターを実行し、無効なサンプルがどの規則に違反するか確認します。
  4. レポートまたは JSON Lines ファイルをダウンロード

できること・制限

最大 50,000 文字のスキーマ、有効なサンプル 1~100 個、無効なサンプル 0~100 個を受け付けます。結果は最大 4,000,000 文字です。すべてブラウザー内で実行されます。JSON レポートと JSON Lines ファイルをダウンロードできます。

サンプルの作成方法

ジェネレーターはシード付き乱数生成器でスキーマをたどり、型、enum、範囲、長さ、単純なパターン、一般的な形式から値を選ぶため、同じシードなら同じサンプルになります。各候補は Ajv で検証されます。不合格の候補は置き換えられ、25 回試しても生成できない場合は出力せず、生成できなかったサンプルとして記載されます。

無効なサンプル

無効なサンプルは有効なサンプルを基に、型違い、必須プロパティの欠落、enum や範囲外の値、余分なプロパティなど、規則を一つずつ破って作成します。それぞれ再検証され、失敗したキーワードがレポートに表示されます。

制限

スキーマ内のローカル参照だけをたどります。他のファイルや URL(URLs)の参照は取得しません。複雑な正規表現、not と oneOf の一部の組み合わせは、生成ツールが対応する検索範囲を超えることがあります。そのようなサンプルは生成されなかったものとして報告されます。__proto__ をプロパティ、パターン、依存関係のキーとして使うスキーマは、同梱バリデーターがそのキーを確実に検査できないため拒否されます。リテラルのインスタンスデータに含まれるそのキーは保持されます。