JSON Schema
JSON Schema は JSON 文書の構造を記述する語彙である。型、制約、検証規則を定義し、JSON のスキーマ標準である。
目的
JSON に XSD 類似の検証機構を与え、データが期待する構造に一致することを保証する。
メカニズム
スキーマ自体も JSON で記述される:type は型、properties はオブジェクトのプロパティ、items は配列要素、required は必須フィールド、minimum/maximum/pattern は制約を宣言する。最新版は Draft 2020-12 である。バリデータ(ajv)が文書を検証する。
ユースケース
- API リクエスト/レスポンスの検証
- 設定ファイルのチェック
- フォームデータの検証
- OpenAPI の型定義
例
- 入力
{"type":"object","properties":{"age":{"type":"integer","minimum":0}}}OutputValidates that age is a non-negative integerConstraint declaration
よくあるエラー
- Using an outdated draft version breaks validator compatibility
- Pin the draft version and use a matching validator