ガイド

JSON Schemaの検証エラーを調べる方法

JSONデータとJSON Schemaをそれぞれ入力して検証を実行すると、妥当性と該当する検証内容を確認できます。空欄やJSONの構文エラーは、Schemaの検証より先に確認します。

ツール JSONスキーマバリデーター

JSON Schemaの検証エラーを調べる

JSONデータをJSON Schemaに照らして検証し、妥当かどうかと、該当する検証内容を確認できます。入力はJSONデータのテキストとJSON Schemaのテキストに分かれているため、データ側とルール側を切り分けて原因を探したい場面に向いています。型、必須プロパティ、追加プロパティ、配列内の値、列挙値、数値や文字列の範囲など、実装されているルールを確認できます。

入力して検証する手順

  1. 検証するJSONデータを入力欄に、対応するJSON Schemaをスキーマ欄に貼り付けます。両方の欄は省略できますが、空欄または空白だけの欄があると、データまたはスキーマが不足しているため不適合として扱われます。
  2. 入力内容を確認し、検証を実行します。まず両方のテキストがJSONとして解析され、その後にSchemaのルールに基づく検証が行われます。JSONの構文に誤りがある場合は、検証結果ではなく解析エラーの説明を確認します。
  3. 結果の妥当性と詳細を分けて読みます。妥当性が不適合なら、型、必須プロパティ、許可されていない追加プロパティ、配列の各要素、列挙値、数値または文字列の範囲を、入力データとSchemaで照合します。ネストした値も、宣言されたルールに応じて確認されます。

結果の読み方と範囲

有効な結果は、入力したJSONが指定したSchemaの検証を通ったことを示します。不適合の結果では、型が宣言と異なる、必須プロパティがない、追加プロパティが許可されていない、配列要素や値の範囲がルールに合わない、といった該当箇所を手がかりにできます。構文解析に失敗した場合は、Schemaとの適合性を判断する前の段階で止まります。

操作自体の状態は、入力不足、解析失敗、有効なデータ、不適合なデータのいずれでも成功として報告される場合があります。そのため、操作状態だけでなく、別に示される妥当性と詳細を確認してください。この検証結果は、実装されているチェックの範囲を示すもので、JSON Schemaの全機能への対応を意味しません。

使用例

注文データの項目がSchemaの宣言どおりの型かを確認したい場面で、データとSchemaを照合します。

注文データのJSONと、注文番号を文字列として求めるSchemaをそれぞれ入力し、検証を実行します。注文番号を数値で入力した場合は、型に関する不適合の詳細を確認します。

結果には、データが妥当かどうかと、該当する検証内容または解析エラーの説明が表示されます。

制限事項

  • 確認できる内容は実装されている検証ルールの範囲に限られます。JSON Schemaの全機能への対応や、未確認の機能の互換性までは判断できません。

よくある間違い

  • JSONデータまたはSchemaを貼り付けたつもりでも、空白だけだったりJSONの構文が崩れていたりすると、不適合または解析エラーになります。両方の内容をJSONとして見直し、空欄や余分な記号を取り除いてから再実行してください。

よくある質問

入力欄を空のまま検証できますか?

空欄または空白だけの入力があると、データまたはSchemaが不足しているため不適合として報告されます。両方のテキストを入力して再実行してください。

検証結果が解析エラーになるのはなぜですか?

JSONとして解析できないテキストでは、Schemaとの検証前に解析エラーになります。括弧、カンマ、引用符などを確認して、解析可能なJSONに修正してください。

どのようなSchemaルールを確認できますか?

実装されている範囲では、型、必須プロパティ、追加プロパティ、配列要素、列挙値、数値と文字列の範囲などを確認します。参照、合成、形式、パターンなど、ここで確認されていない機能の対応までは判断できません。

ツール

JSONスキーマバリデーター