JSON Schema サンプルデータ ジェネレーター
JSON Schema を貼り付けると、それに準拠したサンプル JSON をブラウザー内で生成します。スキーマはデバイス上に留まります。
JSON Schema はブラウザー内でローカルに解析されサンプルデータに変換され、アップロードされることはありませんが、貼り付けるスキーマに本物の秘密情報や本番の値を埋め込むのは避けてください。
JSON はあるがスキーマが必要ですか? JSON Schema Generator をお試しください。
JSON Schema サンプルデータ について
この JSON Schema サンプルデータジェネレーターは、スキーマを、実際にそれに準拠するリアルなサンプル JSON に変換します。draft-07、2019-09、2020-12 のスキーマを貼り付けると、型、email・date・uri・uuid などの文字列フォーマット、enum の選択肢、必須プロパティ、最小・最大の境界、allOf・anyOf・oneOf などのコンビネーターを尊重したデータを生成します。生成するサンプル数を選ぶと配列でまとめられ、単一のオブジェクトを生成することもできます。realistic values をオンにすると、文字列フォーマットをプレーンなプレースホルダーではなく、実在感のある名前・メール・日付で埋めます。データベースのシード、API レスポンスのモック、テスト用フィクスチャの作成に、サンプルペイロードを手書きせずに使えます。貼り付けたスキーマはすべてブラウザー内で処理され、デバイスから外に出ることはありません。
機能
- JSON Schema の draft-07、2019-09、2020-12 ドキュメントを読み取り
- 型、必須プロパティ、最小/最大の数値境界を尊重
- email、date-time、uri、uuid などの文字列フォーマットを有効な値で埋める
- enum と const を尊重し、生成値が許可された集合内に収まるようにする
- allOf、anyOf、oneOf などのコンビネーターと $ref 定義を解決
- 単一のオブジェクト、または配列でまとめた複数サンプルを生成
- 任意の realistic values で、実在感のある名前・メール・日付を使用
- 結果をワンクリックでコピー、または sample-data.json としてダウンロード
JSON Schema サンプルデータ の使い方
- JSON Schema をスキーマボックスに貼り付けるか、「Load example」をクリックします。
- 生成するサンプル数を設定し、realistic values のオン/オフを切り替えます。
- 右側の出力パネルで準拠したサンプル JSON を確認します。
- 「Copy」でデータを取得するか、sample-data.json としてダウンロードします。
例
入力
{
"type": "object",
"required": ["id", "email", "role"],
"properties": {
"id": { "type": "integer", "minimum": 1 },
"email": { "type": "string", "format": "email" },
"role": { "enum": ["admin", "editor", "viewer"] }
}
}
出力
{
"id": 254,
"email": "ada@example.com",
"role": "editor"
}
integer、email フォーマット、enum の各制約が、生成されたオブジェクトですべて満たされています。
よくあるエラーとトラブルシューティング
- 出力に、スキーマが有効な JSON でないと表示される。 — ジェネレーターは JSON オブジェクトを期待します。末尾のカンマ、引用符のないキー、シングルクォートがないか確認し、完全で整形式のスキーマを貼り付けてください。
- 必須プロパティが生成データに含まれていない。 — そのプロパティをスキーマの required 配列に列挙し、型を与えてください。型のないプロパティや任意としてのみ現れるプロパティはスキップされることがあります。
- email や uuid のような文字列フォーマットがランダムな文字として出力される。 — realistic values をオンにすると、認識されたフォーマットが、パターンベースのプレースホルダーではなく実在感のあるサンプルで埋められます。
- anyOf や oneOf のブランチが期待しないデータを生成する。 — ジェネレーターは実行ごとに一致するブランチを1つ選びます。各ブランチを独自の required と type キーワードで絞り込み、すべての選択肢が有効なままになるようにしてください。
よくある質問
- どの JSON Schema ドラフトに対応していますか。
- draft-07、2019-09、2020-12 のスキーマに対応し、型、文字列フォーマット、enum、必須プロパティ、数値の境界、allOf・anyOf・oneOf などのコンビネーターをカバーします。
- これは JSON Schema の検証とどう違うのですか。
- 検証は既存のデータがスキーマに一致するかを確認します。このツールは逆方向に働きます。スキーマを読み取り、それに準拠する新しいサンプルデータを生成するため、テスト・モック・データベースのシードに使えます。
- 複数レコードの配列を生成するにはどうすればよいですか。
- Samples の数を1より大きく設定します。各サンプルは同じスキーマから生成され、結果は JSON 配列でまとめられます。数が1のときは代わりに単一のオブジェクトが返されます。
- realistic values トグルは何をしますか。
- オンにすると、認識された文字列フォーマットやフィールドが、実在感のある名前・メール・日付・URL で埋められます。オフにすると、値はスキーマ自身の制約とパターンから生成されます。
- 生成されたデータは常にスキーマを満たしますか。
- ジェネレーターは型、フォーマット、enum、必須フィールド、数値の境界を尊重します。ただし、非常に複雑な not や条件付きの if/then/else ルールは正確に満たすのが難しいことがあるため、重要なフィクスチャでは出力をスキーマに対して検証してください。
- スキーマはどこかにアップロードされますか。
- いいえ。貼り付けたスキーマはすべてブラウザー内で解析・生成されるため、デバイス上でローカルに処理され、サーバーに送信されることはありません。
関連ツール
すべての ArrayKit ツール