レッスン 8

JSON Schema の基本

型、必須フィールド、制約でドキュメントの形を記述・検証する。

JSON Schema は、JSON ドキュメントにルールを付与する語彙です: どのプロパティが存在するか、その型、値の制約。チームは API payload、設定ファイル、生成データの検証に使います。

最小限のスキーマ

このスキーマは、必須の文字列 name と任意の数値 age を持つオブジェクトを記述します。

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer", "minimum": 0 }
  },
  "required": ["name"],
  "additionalProperties": false
}

有効なインスタンス:

{ "name": "Ada", "age": 30 }

無効: name 欠落、型不一致、additionalPropertiesfalse のときの未知の余分なキー。

主要キーワード

キーワード目的
typestringnumberintegerbooleanarrayobjectnull
propertiesオブジェクトフィールドの形
required必須プロパティ名
items各配列要素のスキーマ
enum許可されるリテラル値
minLength / maxLength文字列の境界

スキーマが重要な理由

  • フロントエンドとバックエンドチーム間の契約
  • デプロイ前の CI での自動検証
  • 機械可読のまま残るドキュメント
  • OpenAPI はリクエストボディに JSON Schema を埋め込むか参照することが多い

検証ワークフロー

  1. 期待する payload 用のスキーマを作成または生成する。
  2. バリデーター(ライブラリまたはツール)で受信 JSON を実行する。
  3. 実世界のエッジケースが現れたらデータかスキーマを修正 — スキーマもコードのように進化する。

スキーマは前のレッスンの JSON 構文理解に取って代わるものではありません — JSON がすでにパース可能になった上で、許可される構造を記述するものです。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る