JSON Schema バリデーター
JSON SchemaでJSONデータを検証できる無料のオンラインツールです。Draft 4/6/7/2019-09/2020-12の全バージョンに対応し、スキーマの自動検出機能でバージョンを自動判定します。バリデーションエラーはJSONパス(JSONPointer形式)・エラー内容・期待される型/値を付けてリアルタイムで一覧表示するため、問題箇所をすぐに特定できます。APIの入力検証スキーマの設計、設定ファイルのバリデーション、JSON Schemaの学習など幅広い用途に活用できます。
最終更新:
使い方
使い方を開く使い方を閉じる
- 1
JSON Schemaを入力
左側のエディタにJSON Schemaを入力またはプリセットから選択します。Draft 4/6/7/2019-09/2020-12に対応しています。
- 2
JSONデータを入力
右側のエディタに検証したいJSONデータを入力します。プリセットのサンプルデータも利用可能です。
- 3
バリデーション結果を確認
リアルタイムでバリデーションが実行され、エラーがある場合はJSONパス・エラー内容・期待される型/値が表示されます。
JSON Schema
JSONデータ
バリデーション結果
JSON SchemaとJSONデータを入力してください
JSON Schema バリデーターとは
JSON Schema バリデーターは、JSON Schemaの仕様に基づいてJSONデータの妥当性を検証するオンラインツールです。APIのリクエスト・レスポンスの検証、設定ファイルのスキーマ定義、データ品質チェックなど、開発・テスト・品質管理の現場で広く活用できます。Draft 4から最新の2020-12まで対応しており、$schema属性によるバージョン自動検出にも対応しています。バリデーションエラーはJSONPointer形式のパス・エラー内容・期待される型/値を含む詳細な情報としてリアルタイム表示されるため、スキーマのどこが問題かをすぐに把握できます。プリセットのサンプルスキーマとデータを使えば、ツールの動作をすぐに確認することも可能です。
主な機能
- Draft 4/6/7/2019-09/2020-12の全バージョンに対応
- リアルタイムバリデーションでエラーを即座に検出
- JSONパス・エラー内容・期待値を一覧で表示
- JSON SchemaとJSONデータの構文エラーを個別に検出
- プリセットのサンプルスキーマとデータですぐに試せる
こんな場面で役立ちます
- APIのリクエスト・レスポンスJSONをスキーマで検証したいとき
- JSON Schemaを書いて正しく動作するか確認したいとき
- 設定ファイルのバリデーション定義を作成・テストするとき
- データ品質チェックのスキーマを設計・検証するとき
- JSON Schemaの学習・動作確認をしたいとき
よくある質問
どのDraftバージョンを使えばよいですか?
新規プロジェクトではDraft 2020-12または2019-09が推奨されます。既存のライブラリやツールの対応状況に合わせてバージョンを選択してください。自動検出モードでは、スキーマの$schema属性から自動的にバージョンを判定します。バックエンドのバリデーションライブラリがDraft 7対応の場合は、互換性のためDraft 7を選ぶとよいでしょう。
入力データはサーバーに送信されますか?
いいえ、処理はブラウザ内のJavaScriptで行われます。入力したJSON SchemaおよびJSONデータが外部に送信されることはありません。
エラーのJSONパスはどのような形式ですか?
JSONパスはJSONPointer形式(RFC 6901)で表示されます。例えば「/user/age」はuserオブジェクトのageプロパティを指します。ルートオブジェクト自体のエラーの場合は空文字列(/)で表示されます。ネストが深い場合はスラッシュを連ねて表現されます(例: /users/0/address/city)。
JSON SchemaとJSON Schemaバリデーターの違いは何ですか?
JSON Schemaはデータの構造・型・制約を記述するための仕様(標準規格)です。JSON SchemaバリデーターはそのスキーマをもとにJSONデータが仕様に準拠しているかを検証するツールです。このツールではスキーマとデータの両方を入力して即座に検証結果を確認できます。
外部$refは使えますか?
現在のバージョンでは外部URIへの$ref参照(例: https://example.com/schema.json)は解決されません。同じスキーマドキュメント内の$refによる内部参照は利用できます。外部スキーマを参照する場合は、その内容をコピーして同じ入力欄にまとめてご利用ください。
Draft間で互換性のない変更はありますか?
はい、Draft間にはいくつかの非互換な変更があります。例えばDraft 4では「exclusiveMinimum」はboolean値でしたが、Draft 6以降では数値になりました。また「$id」の動作もバージョンによって異なります。既存のスキーマを別バージョンで使用する場合は、バージョン間の変更点を確認することをお勧めします。
