JSON入力

生成されたスキーマ

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

JSON Schemaをゼロから手書きしたことはありますか?それはとても手間がかかります。このツールがその作業を代わりに行います — サンプルのJSONオブジェクトを貼り付けるだけで、その構造を記述するスキーマを即座に生成します:型、プロパティ、必須フィールド、ネストされたオブジェクトまで。生成されたスキーマはRFC 8259のJSON規約に従い、Ajvなどのツールと互換性があります。APIドキュメントの作成、データパイプラインの検証、OpenAPI仕様のスキーマ作成のとっかかりとして使えます。

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

使い方

1

サンプルJSONを貼り付け

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

2

スキーマを確認

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

3

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

スキーマを取得するにはコピーまたはダウンロードを使用してください。スキーマに対して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.orgJSON Schema learnで詳細を確認してください。コードでの検証にはAjvを参照してください。JSONについてはjson.orgMDNRFC 8259を参照してください。APIドキュメントにはOpenAPIを参照してください。