JSON Schemaバリデーター

JSONデータをJSON Schemaに対して検証し、詳細なエラーメッセージとパスハイライトで結果を確認できます。

このツールについて

JSON Schemaバリデーターは、JSONデータが指定されたJSON Schema 定義に適合しているかを検証する無料のブラウザベースツールです。 JSON Schemaは、JSONドキュメントの構造、型、制約を記述するための 業界標準です。API開発、構成管理、データパイプラインの検証に 広く採用されており、データがアプリケーションロジックに到達する 前にデータの整合性を保証します。

このツールは <a href="https://ajv.js.org/" target="_blank" rel="noopener noreferrer" className="text-primary underline underline-offset-2"

Ajv (Another JSON Validator) を搭載しています。AjvはJavaScript用の最速かつ最も広く使用 されているJSON Schemaバリデーターです。Draft-04、Draft-06、 Draft-07、Draft 2019-09 / 2020-12のJSON Schemaドラフトに 対応しています。バリデーターはallErrorsモードが有効で 実行されるため、最初のエラーで停止するのではなく、すべての 検証エラーを一度のパスで報告します。これにより、データ内の すべての問題を一覧で把握できます。

フォーマット検証はajv-formatsパッケージにより提供され、 JSON Schema仕様で定義された一般的な文字列フォーマット (emailuridatedate-timeipv4ipv6uuid など)に対応しています。 スキーマで型と構造だけでなく、セマンティックな文字列 フォーマットもカスタム検証ロジックなしで強制できます。

すべての処理はブラウザ内で完結します。JSONデータとスキーマが マシンの外に出ることはなく、サーバーへの通信、ログ記録、 サードパーティの分析も一切ありません。内部APIレスポンス、 認証設定、プライベートデータコントラクトなどの機密ペイロードの 検証にも安全に使用できます。失敗するAPIリクエストのデバッグ、 デプロイ前のスキーマ定義のテスト、サンプルを使ったJSON Schemaの学習など、このバリデーターは即座に詳細なフィードバック を提供します。

使い方

  1. 左側の JSON Data パネルにJSONデータを貼り付けまたは入力します。
  2. 右側の JSON Schema パネルにJSON Schemaを貼り付けまたは入力します。
  3. Validate ボタンをクリックするか Ctrl+Enter を押して検証を実行します。
  4. 有効な場合は緑の成功メッセージが表示されます。無効な場合は、各エラーがインスタンスパス、キーワード、メッセージ、パラメータ付きでリストされます。
  5. Sample ボタンでサンプルJSONデータとスキーマを読み込み、検証の動作を確認できます。
  6. Copy をクリックするか Ctrl+Shift+C で検証結果をクリップボードにコピーします。
  7. Clear で両パネルをリセットしてやり直します。

JSON Schemaの人気サンプル

すべての25件のJSON Schema例を見る &rarr;

よくある質問

JSON Schema検証とは何ですか?

JSON Schema検証は、JSONドキュメントが期待される型、必須フィールド、値の範囲、文字列パターン、その他の制約を定義するスキーマに適合しているかを検査するプロセスです。APIのリクエスト・レスポンスボディ、設定ファイル、データ交換フォーマットの検証に一般的に使用されます。

どのJSON Schemaドラフトに対応していますか?

このツールはAjvを使用しており、Draft-04、Draft-06、Draft-07、Draft 2019-09 / 2020-12に対応しています。スキーマで$schemaキーワードを使用してドラフトバージョンを指定できます。省略した場合、AjvはDraft-07の動作をデフォルトとします。

どのフォーマット検証に対応していますか?

ajv-formatsプラグインにより、email、uri、uri-reference、date、date-time、time、ipv4、ipv6、uuid、hostname、json-pointer、regexなどの標準文字列フォーマットの検証が提供されます。スキーマでformatキーワードを使用してこれらを適用できます。

データは安全ですか?

はい。すべての検証はJavaScriptモジュールとしてロードされたAjvライブラリを使用してブラウザ内で完全に実行されます。サーバーへのデータ送信は一切ありません。ブラウザの開発者ツールのネットワークタブで確認できます。

なぜすべてのエラーが一度に表示されるのですか?

バリデーターはAjvのallErrorsオプションを有効にして実行されます。これにより、最初の検証失敗で停止するのではなく、ドキュメント全体のチェックを継続します。すべての問題を完全なリストとして取得できるため、エラーを一つずつ繰り返し修正する必要がなく、一度のパスで修正できます。

エラーメッセージのインスタンスパスとは何を意味しますか?

インスタンスパス(例:/address/zip)は、JSONデータ内で検証エラーが発生した正確な場所を識別するJSONポインターです。/のパスはドキュメントのルートを指します。/users/0/emailのようなネストパスは、配列やオブジェクト内の特定のプロパティを指します。

$ref参照を含むスキーマに対して検証できますか?

はい。Ajvは同一スキーマドキュメント内の内部参照(例:#/definitions/Address、新しいドラフトでは$defs)の$refをサポートしています。ツールが完全にクライアントサイドで動作するため、外部URLベースの参照は自動的にフェッチされませんが、参照されるスキーマをdefinitionsにインラインで含めることで対応できます。

関連ツール