JSON Schemaバリデーター
JSON Schemaと検証対象のJSONデータを貼り付けて「検証」を押すと、データがSchemaに適合しているかをその場で確認できます。既存の「JSON構文チェック」がJSONの構文チェックのみを行うのに対し、本ツールはJSON SchemaによるデータのValid/Invalid判定を行います。
入力例
結果
JSON Schemaと検証対象JSONデータを入力して「検証」を押してください。
このツールでできること
JSON Schemaバリデーターの主な機能です。
- JSONデータが指定したJSON Schemaに適合しているか(適合/不適合)を判定できます
- 不適合の場合、不一致箇所(JSONデータ側の位置・Schema側の該当箇所)と理由を確認できます
- JSONデータ・Schemaいずれの構文エラーかを区別して表示します
- Draft 4/7/2019-09/2020-12に対応し、判定に用いたDraftを表示します
- 処理はブラウザ内で完結し、入力を外部へ送信しません
手順を見る
- JSON Schemaを入力します
- 検証対象のJSONデータを入力します
- 「検証」を押します
- 適合/不適合と、不適合の場合はエラー一覧を確認します
JSON Schemaバリデーターの仕組みと注意点
このツールの動作の仕組みを説明します。
詳しい解説を見る
対応するJSON Schema Draft
Draft 4 / 7 / 2019-09 / 2020-12 に対応します。$schemaキーワードの値から自動的にDraftを判定します。判定できない場合($schemaが無い、または未知の値の場合)は2020-12として検証し、その旨を表示します。Draft 6のSchemaはDraft 7として検証します。
$refはSchema内部の参照のみに対応します
#/...や$defsなど、同一Schema内での参照には対応しますが、外部URLを参照する$refの取得は行いません(プライバシー・安全性のため)。外部参照や解決できない$refを含むSchemaは、専用のメッセージで案内します。
formatキーワードについて
formatは本ツールが対応している形式(date・email・uri等)についてのみ検証されます。対応していないformat名は検証されません。
エラー一覧の表示
不適合の場合、末端の具体的な違反を最大100件まで表示します(超過時はその旨を明示します)。JSONデータ側の位置・Schema側の該当箇所・理由をあわせて表示します。
入力上限・パフォーマンス
JSONデータ・Schemaともに最大500,000文字、ネストは最大64階層までを上限としています。Schemaのpatternによっては検証に時間がかかる場合があるため、検証はWeb Worker上で実行し、一定時間内に完了しない場合は打ち切ります。
対象外の機能
JSONデータからJSON Schemaを自動生成する機能は対象外です。JSONの構文チェックのみが必要な場合はJSON構文チェックをご利用ください。入力されたJSONデータ・Schemaを外部サーバーへ送信することもありません。
よくある質問
JSON構文チェック(JSON Validator)との違いは何ですか?
JSON構文チェックはJSONとして構文が正しいかのみを判定します。本ツールはJSONデータが指定のJSON Schemaに適合しているか(型・必須項目・形式など)を判定します。
対応しているJSON Schema Draftは何ですか?
Draft 4 / 7 / 2019-09 / 2020-12 に対応しています。$schemaの値から自動判定し、判定できない場合は2020-12として検証します。
外部URLを参照する$refは使えますか?
いいえ。プライバシー・安全性のため、外部URLへの参照は取得しません。Schema内部の参照(#/...やdefs等)のみに対応しています。
エラーが多い場合はどうなりますか?
最大100件まで表示し、超過した場合はその旨を明示します。
検証に時間がかかる場合はどうなりますか?
Schemaのpatternによっては検証に時間がかかることがあります。一定時間内に完了しない場合は打ち切り、その旨を表示します。
入力したJSONデータやSchemaはサーバーへ送信されますか?
いいえ。検証処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。