null型バリデーション — JSON Schemaでnull値を許可する

JSON Schemaでnull型を定義し、nullable(null許容)フィールドを正しく扱う方法を解説します。

Basic Types

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string"
    },
    "middleName": {
      "type": ["string", "null"]
    },
    "deletedAt": {
      "type": ["string", "null"],
      "format": "date-time"
    }
  },
  "required": ["firstName", "middleName"]
}

Test Data

{
  "firstName": "Alice",
  "middleName": null,
  "deletedAt": null
}

詳細な説明

JSON Schemaの null 型は、値が JSON の null であることを検証します。これは「値が存在しない」ことを明示的に表現するために使用されます。

主な使い方:

  • type: "null" で null のみを許可するスキーマを定義できます。
  • type: ["string", "null"] のように配列で指定すると、文字列または null を許容するnullableフィールドを定義できます。
  • anyOfoneOf と組み合わせて、より複雑なnullable型を表現することも可能です。

null型は、オプショナルなフィールドや、意図的に「値なし」を設定するケースで重要です。undefined や空文字列 "" とは異なることに注意してください。

ユースケース

データベースのnullableカラムに対応するAPIフィールドや、削除・リセット操作で値をnullに設定するケースで使用します。

試してみる — JSON Schema Validator

フルツールを開く