JSON Schemaジェネレーター

サンプルJSONデータから型推論、必須フィールド、ネストオブジェクト対応のJSON Schemaを生成します。

このツールについて

JSON Schemaジェネレーターは、任意のサンプルJSONデータから JSON Schema定義を自動生成する無料のブラウザベースツールです。 APIバリデーション、設定ファイル、データコントラクト用のスキーマ 定義を手動で書く代わりに、代表的なJSONの例を貼り付けるだけで、 完全な標準準拠のスキーマがミリ秒で得られます。

JSON Schemaは、JSONドキュメントの注釈付けと検証のための 強力なボキャブラリです。API開発でのリクエスト・レスポンス コントラクトの定義、構成管理での有効な設定の強制、 データモデルからのユーザーインターフェース自動生成などに 広く使用されています。既存データからスキーマを生成することで、 ゼロからバリデーションロジックを構築する手間を省けます。

ジェネレーターはJSON構造全体にわたって再帰的な型推論を行います。 プリミティブ値は対応するJSON Schema型(stringnumberintegerbooleannull)に マッピングされます。ネストオブジェクトは独自の properties とオプションの required 配列を持つ ネストスキーマ定義を生成します。配列は一貫した要素型を判定する ために分析され、混合型が含まれる場合は oneOf 合成が 自動生成されます。空の配列はオープンな items スキーマを 生成するため、後から詳細化できます。

すべての処理はネイティブJavaScript APIを使用してブラウザ内で 完結します。データがマシンの外に出ることはなく、サーバーへの 通信、ログ記録、サードパーティの分析も一切ありません。内部API レスポンス、認証トークン、シークレットを含む設定ファイルなどの 機密ペイロードでも安全に使用できます。Draft-07とDraft 2020-12 のスキーマバージョンを選択でき、必須フィールドの切り替え、 ドキュメント用の空の説明プレースホルダーの追加、追加 プロパティの許可制御も可能です。

使い方

  1. 左側の Sample JSON パネルにサンプルJSONを貼り付けまたは入力します。
  2. 右パネルに生成されたJSON Schemaが入力に応じて自動表示されます。
  3. Schema Version(Draft-07またはDraft 2020-12)を選択して $schema URLを設定します。
  4. All required を切り替えて、各オブジェクトレベルの required 配列を含めるか除外します。
  5. Add descriptions を有効にすると、後で記入可能な空の description フィールドが挿入されます。
  6. Additional properties を切り替えて、スキーマで定義されていないプロパティをオブジェクトが受け入れるかを制御します。
  7. Copy をクリックするか Ctrl+Shift+C で生成されたスキーマをクリップボードにコピーします。

JSON Schemaジェネレーターの人気サンプル

すべてのJSON Schemaジェネレーターサンプルを見る →

よくある質問

JSON Schemaとは何ですか?なぜ必要ですか?

JSON Schemaは、JSONデータの構造、内容、形式を記述するための宣言型言語です。APIペイロードの検証、ドキュメントの生成、フォームの自動構築、サービス間のデータコントラクトの強制に使用されます。スキーマを持つことで、データがアプリケーションロジックに到達する前に、期待される型と構造に適合していることを保証できます。

ネストオブジェクトはどのように処理されますか?

JSON内の各ネストオブジェクトは再帰的に分析され、独自のtype、properties、requiredフィールドを持つネストスキーマを生成します。ネストの深さに制限はなく、深くネストされた構造も完全にサポートされます。

混合型の配列はどうなりますか?

配列のすべての要素が同じ型の場合、シンプルなitemsスキーマが生成されます。配列に異なる型の要素(文字列と数値など)が含まれる場合、各異なる型をリストするoneOf合成が生成されます。空の配列はオープンな items: {} スキーマを生成するため、手動で詳細化できます。

データは安全ですか?

はい。すべてのスキーマ生成はJavaScript組み込みのJSON.parseとカスタム推論ロジックを使用してブラウザ内で完全に実行されます。サーバーへのデータ送信は一切ありません。ブラウザの開発者ツールのネットワークタブで確認できます。

Draft-07とDraft 2020-12の違いは何ですか?

Draft-07は多くのツールやライブラリでサポートされている安定した広く使われているバージョンです。Draft 2020-12は動的参照の改善されたボキャブラリ、タプル検証用のprefixItems、条件付きスキーマのよりクリーンなセマンティクスを導入した新しいバージョンです。ほとんどのユースケースでは生成されるスキーマは両バージョンと互換性があり、主な違いはスキーマが準拠する仕様を識別する$schema URLです。

関連ツール