JSON Schema ジェネレーター
無料オンライン JSON Schema ジェネレーター。サンプル JSON を貼り付けるだけで draft-07 または 2020-12 のスキーマを即推論。必須プロパティ、配列戦略、文字列フォーマット判定つき、ブラウザ内で完結します。
JSON Schema ジェネレーターは何をするの?
サンプルの JSON ドキュメントを解析し、それを記述するスキーマを推論します。各値の型、ネストしたオブジェクトのプロパティ、配列の要素スキーマです。結果はそのまま使える draft-07 または 2020-12 の JSON Schema で、コピーもダウンロードもできます。
スキーマの推論はどう動く?
ジェネレーターはサンプル値を再帰的にたどります。文字列は string プロパティ(date や email など判定された形式を付与可)、整数は integer、小数は number、真偽値は boolean、null は null、配列は選択した戦略で要素スキーマを持つ array、オブジェクトは properties マップを持つ object になります。
必須オプションの効果は?
有効にすると、オブジェクト内で見つかったすべてのプロパティを必須として扱います。ジェネレーターは JSON Schema の仕様に沿って、オブジェクトごとに正しい required 配列へ整理します。実データで欠けうるフィールドがあるならオフにしてください。
配列戦略はどれを選ぶべき?
「全要素を統合」はすべての要素をカバーする要素スキーマを作ります(integer と number は number に統合など)。「先頭要素のみ」は 0 番目の要素のスキーマを採用。「要素の型を統一」は全要素が同じスキーマであることを要求し、異なればエラー。「タプル(位置ごと)」は位置ごとにスキーマを保持し、固定長配列に最適です。
$schema バージョンヘッダーを追加できる?
はい。$schema バージョンの select で、公式の draft-07 URI、2020-12 URI、または追加なしを選べます。ヘッダーは下流のバリデーターにスキーマの従う仕様を伝えます。
文字列フォーマット判定とは?
有効にすると、メールアドレスや日付、ホスト名らしき文字列値に format 注記(例:format: email)が付きます。スキーマは精密になりますが、短いテキストに過剰に付くこともあり、純粋な string 型にしたい場合はオフにできます。
生成されたスキーマは完璧?
単一サンプルからの推論は完璧になりません。スキーマは与えたサンプルを正確に反映します。欠けている任意フィールドは現れず、エッジケースは手動調整が必要です。出力を強力な出発点と捉え、実際の契約に合わせて範囲・pattern・enum を調整してください。
データはどこかに送信される?
いいえ。スキーマの推論は完全にブラウザ内で行われ、サーバーには何も送信されません。サンプルはローカルファイルから読み込め、直近の入力はこのブラウザのローカルストレージにのみ保存されます。
JSON Schema ジェネレーターの使い方
このツールはサンプルの JSON ドキュメントから JSON Schema を推論します。左側にサンプルデータを貼り付けるか読み込み、オプションを調整すると、生成された draft-07 または 2020-12 のスキーマが右側にリアルタイムで表示されます。ブラウザー内で to-json-schema 推論エンジンをローカルに動かし、エンジンがプロパティ単位で付けた必須マーカーを、仕様に沿った親オブジェクトの required 配列へ変換する後処理も行います。どこにもアップロードされません。
- サンプルの JSON を左のテキストエリアに貼り付けるか、「ファイルを読み込む」「サンプル」を使います。
- すべてのプロパティを必須にするか決めます。「すべてのプロパティを必須としてマーク」にチェックすると各オブジェクトに required 配列が付きます。
- 配列の戦略を選びます。すべての要素を統合(全要素を 1 つのスキーマでカバー)、最初の要素のみ、要素を均一とみなす(不一致でエラー)、タプル(位置ごとにスキーマ)。
- $schema のバージョンを選びます。なし、Draft-07、Draft 2020-12 のいずれかで、公式ヘッダー URI が追加されます。
- 「文字列形式を検出」を切り替えると、email や date に見える値へ形式アノテーションが付きます。
- 結果をコピーするか schema.json としてダウンロードします。生成スキーマは読みやすさのため 2 スペースのインデントに整形されます。
推論は与えたサンプルに完全に依存します。サンプルにないフィールドはスキーマに現れないので、もっとも豊かで現実的な例を与えましょう。Ada Lovelace のような値は format: color と注釈されることがあります。短い英字列が CSS の色名に似ているためです。素の string 型にしたい場合は「文字列形式を検出」をオフにするか、format の行を手動で削除してください。
関連ツール
- JSONバリデーター JSON構文を即座に検証。詳細なエラーメッセージと行番号を表示。100%ブラウザ内で動作する無料ツール。
- JSON 整形 カスタマイズ可能なインデントでJSONを整形・美化。圧縮されたJSONをブラウザで即座に整形。
- JSON→TypeScript変換 JSONをTypeScriptのインターフェースと型定義に即変換。ネストされたオブジェクト、配列、ユニオン型に対応。
- Chmod 計算機 無料オンラインchmod計算機でチェックボックス付きLinuxファイル権限を視覚化・計算。数値(755, 644)とシンボリック表記(rwxr-xr-x)を即座に変換。setuid、setgid、sticky bit等の特殊権限に対応。
- ASCIIコード表 10進数、16進数、8進数、2進数コード、HTMLエンティティ、文字説明を含む完全なASCII文字エンコーディングリファレンス。即座に検索・フィルタリング。
- HTTPリクエストテスター ブラウザで直接REST APIをテスト。カスタムヘッダー、ボディ、クエリパラメータでGET、POST、PUT、DELETEリクエストを送信。レスポンスのステータス、ヘッダー、JSONボディを即座に確認。
- .htaccessジェネレーター Apache .htaccessルールを生成します。リダイレクト、リライト、セキュリティヘッダー、キャッシュなど。
- Robots.txtジェネレーター 無料オンラインrobots.txtジェネレーター。robots.txtファイルを作成・カスタマイズして検索エンジンのクロールを制御、クローラーアクセスを管理、サイトのSEOを最適化します。