JSON Schema検証

問題を報告

Validate JSON against a JSON Schema (type / properties / required / items / enum / numeric & length limits / additionalProperties).

JSON input
ここにファイルをドラッグ&ドロップ
下のボタンからローカルファイルを選択することもできます
.json / .txt / .csv に対応、最大 10 MB、ブラウザ内のみで解析
JSON Schema
ここにファイルをドラッグ&ドロップ
下のボタンからローカルファイルを選択することもできます
.json / .txt / .csv に対応、最大 10 MB、ブラウザ内のみで解析
Result
検証結果がここに表示されます
対応キーワード:type / properties / required / additionalProperties / items / minItems / maxItems / minimum / maximum / minLength / maxLength / pattern / enum / const / anyOf / oneOf / allOf / not
未対応:$ref / $defs / definitions とリモート参照、if / then / else、dependencies / dependentRequired、items のタプル記法(配列形式)、format、exclusiveMinimum / exclusiveMaximum、multipleOf、patternProperties、propertyNames、minProperties / maxProperties、uniqueItems、contains。未対応のキーワードはエラーにならず、そのまま無視されます(本ツールは Draft-07 の常用サブセットのみ実装)。
すべての処理はブラウザ内で行われ、データはサーバーに送信されません。

JSONデータがSchemaルールに適合するか検証

JSON Schema検証とは

JSON Schema検証は、JSONデータとSchemaルールを照合し、データの構造や内容があらかじめ定義された条件に適合しているか確認する機能です。たとえば、特定のフィールドを必須にしたり、フィールドを文字列や数値に限定したり、配列要素に特定の構造を要求したり、数値や文字列に範囲などの制約を設定したりできます。

JSONとSchemaの違い

左側には検証したいJSONデータ、右側にはJSON Schemaを入力します。JSONは実際のデータ、Schemaはデータ構造と制約条件を記述したルールです。両方を用意すると、ツールがSchemaに基づいてJSONを検証します。

よく使われるSchemaルール

一般的なルールには、データ型を指定するtype、必須プロパティを指定するrequired、オブジェクトのフィールドを定義するproperties、配列要素を定義するitemsがあります。また、enum、const、minimum、maximum、minLength、maxLengthなどの値に関する制約も使用できます。具体的な対応範囲はページのバリデーター実装に従います。

検証結果の見方

検証に成功した場合、現在のJSONデータが指定されたSchemaルールに適合していることを意味します。検証に失敗した場合は、結果エリアにルールに適合しない位置と理由が表示されるため、必須フィールドの不足、型の不一致、値の制約違反などを確認できます。エラーを確認するときは、まずパスを確認し、そのSchemaルールに従ってJSONデータを修正してください。

JSON Schemaのrequiredの使い方

requiredはオブジェクト内に必ず存在しなければならないプロパティを指定します。たとえばSchemaでrequired: [\"name\"]と設定すると、JSONオブジェクトにnameプロパティが存在する必要があります。requiredが確認するのはプロパティの存在であり、値の型を単独で決定するものではありません。フィールドの型はproperties内のtypeなどのルールで定義します。

propertiesとadditionalProperties

propertiesはオブジェクト内の具体的なフィールドを定義します。たとえばnameを文字列型、ageを数値型として指定できます。additionalPropertiesを使うと、Schemaで定義されていない追加プロパティを許可するかどうかを制御できます。未知のフィールドを禁止したい場合は、オブジェクトSchemaで対応するルールを明示的に設定します。

ローカルJSONファイルを検証する方法

ファイルアップロードタブに切り替え、JSONデータとSchemaそれぞれのローカルファイルを指定できます。ファイルはブラウザ内で読み込まれて検証に使用されるため、ローカル設定ファイル、APIデータ、その他のJSONドキュメントを直接確認できます。1ファイルあたりのサイズ上限はページの案内に従います。

検証に失敗した場合の確認方法

結果にJSON形式エラーが表示された場合は、まず入力内容自体が有効なJSONか確認してください。JSONを解析できてもSchema検証に失敗する場合は、エラーのパスに従って該当フィールドを確認します。よくある問題には、requiredで指定された必須プロパティの不足、typeの不一致、itemsで指定された配列要素の構造不一致、enumにない値、数値や文字列が制約範囲を超えているケースなどがあります。

JSON Schema検証はどのような場面に適していますか?

JSON Schemaは、APIデータの検証、設定ファイルのチェック、フロントエンドとバックエンド間のデータ制約、大量データ処理、開発・テストなどで利用されています。データ構造を先に定義し、Schemaで実際のJSONを検証することで、後続処理に入る前に構造やフィールドの問題を発見できます。

JSON SchemaでJSONを検証するには?

JSON SchemaはJSONデータの構造と制約をルールとして記述します。検証では実際のJSONデータとSchemaを照合し、フィールド、型、配列、その他の制約が条件に適合しているか確認します。

検証に失敗した場合は、エラーのパスと理由から具体的なフィールドを特定し、JSONデータまたはSchemaルールを修正できます。

  • JSONデータとJSON Schemaルールを照合し、構造とフィールドの制約を検証できます
  • type、required、properties、itemsなどの一般的なSchemaルールに対応
  • 列挙値、数値範囲、文字列長などの一般的なデータ制約を確認できます
  • 検証失敗時にエラー位置と理由を表示し、具体的なフィールドを特定できます
  • JSONデータとSchemaファイルをそれぞれ入力またはアップロードできます
  • すべてブラウザ内で処理し、入力内容はサーバーにアップロードされません
JSONからルールを自動生成する場合はJSON Schema生成、2つのJSONの具体的な差分を確認する場合はJSON Diffを使用できます。
コメント 0
まだコメントはありません。最初のコメントを投稿しましょう!
avatar
コメント内容を入力してください
0/255