配列の 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 — 配列はこの数の要素を超えてはなりません。
  • uniqueItemstrue の場合、重複する要素は拒否されます。

混合型配列

ジェネレーターが異なる型の要素に遭遇した場合(例: [1, "two", true])、items にユニオン型を生成する場合があります。

contains キーワード

すべての要素を制約せずに、少なくとも1つの要素がスキーマに一致することだけを主張する場合は contains を使用します。

ユースケース

タグリスト、ユーザーコレクション、注文明細、ログエントリ、または構造化データの配列を返すまたは受け入れるAPIエンドポイントの配列スキーマを生成します。

試してみる — JSON Schema Generator

フルツールを開く