JSON Schemaとは
JSON Schemaは、JSONデータの構造と制約を定義する仕様です。APIの型安全性、設定ファイルのバリデーション、フォーム入力の検証など、現代のWeb開発に欠かせません。
JSON Schemaの基本例
{
"type": "object",
"properties": {
"name": { "type": "string", "minLength": 1 },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name", "email"]
}
対応するスキーマバージョン
| Draft | 特徴 | 推奨シーン |
|---|---|---|
| 2020-12 | 最新仕様。$dynamicRef、prefixItems対応 | 新規プロジェクト |
| Draft 7 | 安定版。if/then/else対応 | 多くのプロジェクト |
| Draft 4 | レガシー対応 | 既存システム |
活用シーン
- API開発:リクエスト/レスポンスの型を定義し、実データで検証
- 設定ファイル:package.json、tsconfig.json等の構造を検証
- データパイプライン:ETL処理の入出力データを検証
- フォーム設計:バリデーションルールをスキーマとして定義
エラー表示の読み方
// エラー例
❌ /users/0/email: "format" に一致しません (email)
❌ /settings/timeout: "type" は integer である必要があります
✅ /users/1: すべてのバリデーションに合格
JSONスキーマ検証を今すぐ使う
JSONを検証 →