JSONスキーマジェネレーター
JSONデータからJSONスキーマを自動生成
JSON入力
生成されたスキーマ
JSONスキーマジェネレーターとは?
JSON Schemaをゼロから手書きしたことはありますか?それはとても手間がかかります。このツールがその作業を代わりに行います — サンプルのJSONオブジェクトを貼り付けるだけで、その構造を記述するスキーマを即座に生成します:型、プロパティ、必須フィールド、ネストされたオブジェクトまで。生成されたスキーマはRFC 8259のJSON規約に従い、Ajvなどのツールと互換性があります。APIドキュメントの作成、データパイプラインの検証、OpenAPI仕様のスキーマ作成のとっかかりとして使えます。
このツールはブラウザで実行されます。JSONを貼り付けるとJSON Schemaドラフトを生成します。サーバーには送信されません。
使い方
サンプルJSONを貼り付け
記述したい構造を表すJSONを貼り付けます。必要に応じてサンプルまたはアップロードを使用してください。ジェネレーターは値(string、number、boolean、array、object)から型を推論します。
スキーマを確認
右パネルに生成されたスキーマが表示されます。type、properties、required、オブジェクト用のネストされたスキーマが含まれる場合があります。必要に応じて手動で編集できます。
コピーまたはダウンロード
スキーマを取得するにはコピーまたはダウンロードを使用してください。スキーマに対してJSONを検証するにはJSONバリデーターまたはAjvなどのライブラリを使用してください。
JSONスキーマの例
サンプルJSONからスキーマを生成。通信テーマの例:
JSON入力
生成されたスキーマ
生成スキーマを使う場面
生成されたスキーマは出発点です。サンプルデータの構造を捉えますが、厳しすぎたり緩すぎたりする場合があります。required配列の追加、型の調整、許可値用のenumの追加が必要な場合があります。JSON Schemaのドキュメントで完全な語彙を説明しています。APIドキュメントにはOpenAPIなどのツールがJSON Schemaを参照できます。
例:ユーザーオブジェクトからスキーマを生成
JSON入力:
{
"id": 1,
"name": "Alice",
"email": "[email protected]",
"age": 30,
"active": true
}生成されたJSONスキーマ:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" },
"age": { "type": "integer" },
"active": { "type": "boolean" }
}
}よくある質問
このスキーマでJSONを検証できますか?
このツールはスキーマの生成のみ行います。検証にはJSONバリデーターまたはコード内でAjvなどのライブラリを使用してください。
JSONの形状が異なる場合は?
ジェネレーターは提供したサンプルから推論します。JSONが複数の形状(オプションフィールドなど)を持つ場合、スキーマは手動編集が必要な場合があります。バリアントにはoneOfまたはanyOfを使用してください。
データは送信されますか?
いいえ。生成はブラウザで実行されます。
どのJSON Schemaドラフトが使用されますか?
ツールはdraft-07またはdraft-2020-12を使用する場合があります。バージョン確認には生成されたスキーマの$schemaを確認してください。JSON Schema仕様に詳細があります。
APIレスポンスに使えますか?
はい。典型的なAPIレスポンスを貼り付けてください。生成されたスキーマがその構造を記述します。OpenAPI/Swaggerやドキュメントで使用できます。
関連ツール
json-schema.orgとJSON Schema learnで詳細を確認してください。コードでの検証にはAjvを参照してください。JSONについてはjson.org、MDN、RFC 8259を参照してください。APIドキュメントにはOpenAPIを参照してください。