JSONスキーマバリデータ
ブラウザ上でJSONデータが
JSONスキーマバリデータの概要
JSONスキーマバリデータは、入力されたJSONデータが指定したJSON Schema仕様に準拠しているかをブラウザ上でリアルタイムに検証する無料のオンラインツールです。API開発やシステム連携において、JSONのデータ構造が正しいかを素早くテストしたい場合に最適です。
Draft 4, Draft 7, Draft 2020-12などの最新のスキーマ仕様をサポートしており、複雑なオブジェクトや配列の入れ子、必須プロパティの不足なども瞬時に検出します。すべての処理はローカルで実行されるため、機密性の高いJSONデータであっても安全に検証可能です。
JSONバリデーションの使い方
JSON Schemaを入力
左側の「JSON Schema」テキストエリアに、定義済みのスキーマを入力または貼り付けます。
JSON Dataを入力
右側の「JSON Data」テキストエリアに、テストしたい対象のJSONデータを入力します。
検証結果を確認
検証結果が下部のパネルに即座に表示されます。リアルタイム検証がオンの場合は入力と同時にエラー箇所(パスと理由)がハイライトされます。
JSONスキーマ関連の用語集
- JSON Schema
- JSONのデータ構造、許容される値の型、必須項目などを定義するための語彙(仕様)です。データのバリデーションに不可欠です。
- AJV
- Another JSON Schema Validatorの略で、本ツールでも内部で使用している高速で堅牢なJSON Schema検証ライブラリです。
- Instance Path
- JSONデータ内でエラーが発生した場所を示すパスです。例えば `/users/0/age` のように、配列のインデックスやプロパティ階層で示されます。
- Draft 2020-12
- JSON Schema仕様のバージョンの1つで、プレフィックスや正規表現の扱いに改善が加えられたモダンな仕様です。
- Validation
- データの妥当性確認のこと。システムが予期しないデータによるクラッシュを防ぐための防波堤となります。
よくある質問
- Q.機密情報を含むJSONを入力しても安全ですか?
- はい、安全です。このツールは入力されたJSONデータをすべてブラウザ上で処理します。外部サーバーへの送信は一切行われないため、APIキーや個人情報が含まれていても漏洩の心配はありません。
- Q.どのバージョンのJSON Schemaに対応していますか?
- Draft 4, 6, 7, 2019-09, 2020-12に対応しています。内部で利用している AJV ライブラリにより、最新の仕様に準拠した検証が可能です。
- Q.JSONのフォーマットエラーとスキーマ検証エラーの違いは何ですか?
- フォーマットエラーは、カンマの抜け落ちやクォーテーションの閉じ忘れなど、JSONとしての構文が壊れているエラーです。スキーマ検証エラーは、JSONの構文は正しいものの、「年齢が数字ではない」「必須のキーが不足している」など、指定されたルールに反している場合のエラーです。
- Q.複数のファイルに分割されたスキーマ($ref)は解決できますか?
- 当ツールは単一のブラウザセッションで動作するため、外部URLを参照する `$ref` の自動解決には制限があります。すべての定義を1つのスキーマオブジェクト内の `$defs` に統合して利用することをお勧めします。
- Q.リアルタイム検証をオフにするにはどうすればよいですか?
- 巨大なJSONを扱う場合、入力のたびに検証が走ると重くなることがあります。ツール上部の「リアルタイム検証」トグルをオフにすることで、ボタンを押したタイミングでのみ検証を行う手動モードに切り替えられます。
活用シーン
APIレスポンスのテスト
開発中のAPIが、設計書通りのJSON構造を返しているか、フロントエンドに実装する前に確認する。
設定ファイルの構文チェック
複雑な `config.json` や `package.json` が、仕様に則って正しく書かれているかを確認する。
バリデーションルールの作成
アプリケーションに組み込むJSON Schema自体を作成する際、正しく動作するかをサンドボックスとしてテストする。
JSON Schemaの学習
$ref や allOf などの複雑なスキーマ機能を学びながら、実際のデータに対する挙動を試行錯誤する。
技術詳細
本ツールは、Node.js エコシステムで標準的に利用されている超高速の JSON Schema バリデータである Ajv (v8) をクライアントサイドで実行しています。Ajvは、スキーマ定義を一度コンパイルし、最適化されたJavaScript関数を生成するため、巨大なJSONデータの検証も極めて高速に行われます。すべての検証がブラウザ上で実行されるため、待ち時間がゼロのリアルタイムなユーザー体験を提供します。
フィードバックを送信
ツールをより良くするためのご意見をお聞かせください。
現在、フィードバックの受付を一時停止しています
サーバーが混み合っているか、スパム防止のための安全装置が作動しています。しばらく経ってから再度アクセスしてください。