配列の items スキーマ — 配列要素のバリデーション
items キーワードを使用して型付き要素を持つ配列のJSON Schemaを生成します。同種の配列バリデーションの仕組みと長さ制約の追加方法を学びます。
Array Schemas
詳細な説明
配列のスキーマ生成
ジェネレーターがJSON配列に遭遇すると、要素を検査し、各要素が従うべき形状を記述する "items" スキーマを生成します。
同種の配列
最も一般的なケースは、すべての要素が同じ型を持つ配列です:
["apple", "banana", "cherry"]
生成されたスキーマ:
{
"type": "array",
"items": { "type": "string" }
}
オブジェクトの配列の場合:
[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]
ジェネレーターはすべての要素のプロパティをマージして統一された items スキーマを構築します。
長さ制約
生成後、配列サイズを制御する長さ制約を追加します:
{
"type": "array",
"items": { "type": "string" },
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
}
minItems— 配列には少なくともこの数の要素が必要です。maxItems— 配列はこの数の要素を超えてはなりません。uniqueItems—trueの場合、重複する要素は拒否されます。
混合型配列
ジェネレーターが異なる型の要素に遭遇した場合(例: [1, "two", true])、items にユニオン型を生成する場合があります。
contains キーワード
すべての要素を制約せずに、少なくとも1つの要素がスキーマに一致することだけを主張する場合は contains を使用します。
ユースケース
タグリスト、ユーザーコレクション、注文明細、ログエントリ、または構造化データの配列を返すまたは受け入れるAPIエンドポイントの配列スキーマを生成します。