JSON Schemaとは?
じぇーそんすきーま
JSON Schemaとは、JSONデータの構造や型・制約を定義するための仕様であり、データの検証や文書化に広く使われる標準規格です。
JSON Schemaは、JSON(JavaScript Object Notation)形式のデータがどのような構造を持つべきかを記述するための仕様です。IETF(インターネット技術特別調査委員会)によって標準化が進められており、APIの設計やデータ交換の現場で欠かせないツールとなっています。
JSON Schema自体もJSON形式で記述します。キーに対してどんな型(文字列・数値・真偽値・配列・オブジェクトなど)が許可されるか、必須のフィールドはどれか、文字列の長さや数値の範囲・正規表現パターンといった制約を細かく定義できます。たとえばユーザー登録フォームのデータなら、nameは文字列で必須、ageは0以上150以下の整数、emailはメールアドレス形式、といった条件を一枚のスキーマにまとめられます。
主な用途は次のとおりです。
- APIリクエスト・レスポンスの自動バリデーション
- OpenAPI(Swagger)仕様との連携によるAPIドキュメント生成
- IDE上のコード補完やリアルタイム入力チェック
- 設定ファイルの形式保証
バージョンはDraft 4・Draft 7・Draft 2019-09・Draft 2020-12と改定が続いており、各バージョンで機能が拡張されています。特にDraft 7以降は条件付きサブスキーマ(if/then/else)が追加され、より複雑なルールも表現できるようになりました。
JSON Schemaを活用することで、開発チーム間のデータ仕様を一元管理でき、バグの早期発見とドキュメントの自動化が同時に実現します。
使い方・例文
REST APIのリクエストボディをJSON Schemaで定義しておくと、サーバー側のバリデーションコードを自動生成したり、フロントエンドの入力フォームでリアルタイムエラー表示を行ったりする場面で活用されます。
この用語をシェア
最終更新: