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 サンプルデータ の使い方

  1. JSON Schema をスキーマボックスに貼り付けるか、「Load example」をクリックします。
  2. 生成するサンプル数を設定し、realistic values のオン/オフを切り替えます。
  3. 右側の出力パネルで準拠したサンプル JSON を確認します。
  4. 「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 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 ツール