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フィールドを定義できます。anyOfやoneOfと組み合わせて、より複雑なnullable型を表現することも可能です。
null型は、オプショナルなフィールドや、意図的に「値なし」を設定するケースで重要です。undefined や空文字列 "" とは異なることに注意してください。
ユースケース
データベースのnullableカラムに対応するAPIフィールドや、削除・リセット操作で値をnullに設定するケースで使用します。