JSONスキーマを使ってデータを検証する方法
JSONスキーマとは?
JSONスキーマは、JSONデータの構造、必須フィールド、値の型を標準的に記述する方法です。有効なJSONがどのようなものかを示す契約書や設計図のようなものと考えてください。JSONスキーマ自体はJSON形式で書かれているため、機械可読で編集も簡単です。
JSONスキーマは検証だけでなく、コード生成、APIドキュメント、エディタの自動補完にも活用できます。
なぜスキーマで検証するのか?
- 不正または不足したデータによるバグを、問題発生前に防ぐことができる。
- チームやアプリ、API間でデータの一貫性を確保する。
- スキーマから自動的にドキュメントを生成する。
- エディタやツールがより良い自動補完やインラインヘルプを提供できるようになる。
簡単なスキーマでもよくあるミスを検出でき、後のデバッグ時間を大幅に節約できる。
簡単な例:基本的なスキーマ
以下は基本的なJSONオブジェクトと、その構造を検証する最小限のスキーマです。
{
"name": "Alice",
"age": 30
}
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "number" }
},
"required": ["name", "age"]
}
このスキーマは、'name'は文字列、'age'は数値でなければならないことを保証します。
カスタムスキーマの書き方
スキーマでは、フィールド値の制限、入れ子構造の定義、数値の最小・最大値設定など高度なルールを定義可能です。以下は製品の配列を検証する例です。
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"price": { "type": "number", "minimum": 0 },
"tags": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["id", "price"]
}
}
まずは小さく始めて、徐々にスキーマを作りながらオンライン検証ツールで逐次チェックしましょう。
JSONValidator.devを使ったスキーマ検証方法
- メインエディタに検証したいJSONデータを貼り付けます。
- 下部のスキーマエディタにJSONスキーマを貼り付けます。
- 「このスキーマでJSONを検証する」ボタンをクリックします。
- 検証結果が表示され、エラーがあれば強調表示と解説があります。
検証処理は全てお使いのブラウザで行われるため、データが外部に送信されることはありません。
スキーマ検証エラーのトラブルシューティング
検証エラーの主な原因は以下の通りです。
- 必須フィールドがデータから欠落している。
- 値の型がスキーマと一致しない(例:文字列と数値の違い)。
- スキーマ自体に誤りやタイプミスがある。
エラーメッセージをよく確認してください。多くの場合、どのフィールドと型が不一致か詳細が示されます。
まとめ
JSONスキーマ検証はデータを堅牢でエラーのない状態に保つ強力な方法です。ぜひ無料のJSONスキーマジェネレーターであなたのデータのスキーマを作成し、ライブで検証してみてください!