JSON入力

生成されたスキーマ

JSONスキーマジェネレーターとは?

JSON SchemaはJSONデータの構造を記述します:必須フィールド、型、許可値、フォーマット。スキーマジェネレーターはサンプルJSONからスキーマを推論します。サンプルデータを貼り付けると、その構造を記述するスキーマを生成します。スキーマを使って他のJSONを検証したり、APIをドキュメント化したりできます。

このツールはブラウザで実行されます。JSONを貼り付けるとJSON Schemaドラフトを生成します。サーバーには送信されません。

使い方

1

サンプルJSONを貼り付け

記述したい構造を表すJSONを貼り付けます。必要に応じてサンプルまたはアップロードを使用してください。ジェネレーターは値(string、number、boolean、array、object)から型を推論します。

2

スキーマを確認

右パネルに生成されたスキーマが表示されます。typepropertiesrequired、オブジェクト用のネストされたスキーマが含まれる場合があります。必要に応じて手動で編集できます。

3

コピーまたはダウンロード

スキーマを取得するには<strong>コピー</strong>または<strong>ダウンロード</strong>を使用してください。スキーマに対してJSONを検証するにはJSONバリデーターまたは<a href="https://ajv.js.org/" target="_blank" rel="noopener">Ajv</a>などのライブラリを使用してください。

JSONスキーマの例

サンプルJSONからスキーマを生成。通信テーマの例:

JSON入力

入力

生成されたスキーマ

出力

生成スキーマを使う場面

生成されたスキーマは出発点です。サンプルデータの構造を捉えますが、厳しすぎたり緩すぎたりする場合があります。required配列の追加、型の調整、許可値用のenumの追加が必要な場合があります。JSON Schemaのドキュメントで完全な語彙を説明しています。APIドキュメントにはOpenAPIなどのツールがJSON Schemaを参照できます。

よくある質問

このスキーマでJSONを検証できますか?

このツールはスキーマの生成のみ行います。検証にはJSONバリデーターまたはコード内で<a href="https://ajv.js.org/" target="_blank" rel="noopener">Ajv</a>などのライブラリを使用してください。

JSONの形状が異なる場合は?

ジェネレーターは提供したサンプルから推論します。JSONが複数の形状(オプションフィールドなど)を持つ場合、スキーマは手動編集が必要な場合があります。バリアントにはoneOfまたはanyOfを使用してください。

データは送信されますか?

いいえ。生成はブラウザで実行されます。

どのJSON Schemaドラフトが使用されますか?

ツールはdraft-07またはdraft-2020-12を使用する場合があります。バージョン確認には生成されたスキーマの$schemaを確認してください。JSON Schema仕様に詳細があります。

APIレスポンスに使えますか?

はい。典型的なAPIレスポンスを貼り付けてください。生成されたスキーマがその構造を記述します。OpenAPI/Swaggerやドキュメントで使用できます。

関連ツール

json-schema.orgJSON Schema learnで詳細を確認してください。コードでの検証にはAjvを参照してください。JSONについてはjson.orgMDNRFC 8259を参照してください。APIドキュメントにはOpenAPIを参照してください。