JSON Schema生成
JSONデータからJSON Schemaを自動生成します
サンプルデータから推定しています。配列の要素のスキーマには最初の要素を使用します。検証する前にスキーマを確認し、調整してください。
この端末で処理されます。テキストはアップロードされません。
無料のオンラインJSON Schema生成ツール
このJSON Schema生成ツールは、サンプルのJSONデータを解析して、正確な型の検出、ネストされたオブジェクトの処理、配列要素の推論を行い、有効なJSON Schema定義を即座に生成します。JSONオブジェクトを貼り付けてドラフトのバージョンを選ぶだけで、APIの検証、フォーム生成、ドキュメント作成に使えるスキーマが得られ、スキーマのコードを1行も手で書く必要はありません。
このツールは、エコシステムで最も広く採用されているJSON Schemaのdraft-04、draft-06、draft-07に対応しています。JSON構造を再帰的にたどり、文字列、数値、整数、真偽値、null、オブジェクト、配列を検出します。配列については最初の要素からスキーマを推論するため、複雑にネストされた構造でも正確な要素定義が得られます。
オプションで、requiredプロパティ配列の切り替え、ドキュメント用のdescriptionプレースホルダーの追加、厳密な検証のためのadditionalProperties: falseの適用を設定できます。結果に問題がなければ、.schema.jsonファイルとしてダウンロードするか、ワンクリックでクリップボードにコピーできます。すべてブラウザー上で動作し、データがサーバーにアップロードされることはありません。
主な機能
- 適切な$schema URIを付けて、JSON Schemaのdraft-04、draft-06、draft-07の各ドラフトに対応
- 文字列、数値、整数、真偽値、null、オブジェクト、配列の型を自動検出
- 深くネストされたオブジェクトや配列にも対応する、再帰的なスキーマ生成
- 最初の要素に基づく配列要素の型の推論
- 検証の厳しさを調整できる、「required」プロパティ配列の設定
- スキーマ自体に説明を持たせられる、「description」プレースホルダーの任意生成
- オブジェクトの形を厳密に制限する「additionalProperties: false」の切り替え
- 生成したスキーマを.schema.jsonファイルとしてダウンロード
- ワンクリックでクリップボードにコピー
- すぐに試せるサンプルJSONをあらかじめ読み込み済み
JSON Schema生成の使い方
- スキーマのオプションを設定:ドラフトのバージョンを選び、required配列、description、additionalPropertiesを必要に応じて切り替えます。
- JSONを貼り付け:サンプルのJSONオブジェクトを入力パネルに入力または貼り付けます。「サンプルJSON」をクリックして例を読み込むこともできます。
- スキーマを生成:「スキーマを生成」をクリックすると、右側のパネルにJSON Schemaが出力されます。
- 確認して調整:出力を確認します。必要に応じて、必須フィールドや説明などのオプションを調整し、再生成します。
- スキーマをエクスポート:「コピー」をクリックするとスキーマがクリップボードに入り、「.schema.jsonをダウンロード」をクリックするとファイルとして保存されます。
活用例
- OpenAPI / Swagger仕様:API ドキュメントのリクエストボディとレスポンスボディのスキーマ定義を生成します。
- バックエンドのリクエスト検証:Express、FastAPI、Spring Bootなどのフレームワークで、受信するJSONペイロードを検証するスキーマを作成します。
- フロントエンドのフォーム生成:スキーマをreact-jsonschema-formなどのライブラリに渡して、データモデルからUIフォームを自動生成します。
- データ契約:マイクロサービス間、またはフロントエンドとバックエンドのチーム間で、構造化されたデータ契約を定義して共有します。
- 設定の検証:CI/CDパイプラインでJSON設定ファイルを検証し、デプロイ前に構造上のエラーを検出します。
- データベース移行の計画:新しいテーブルやコレクションを設計する際に、想定されるデータの形を文書化します。
- IDEの自動補完:VS Codeの設定でJSON Schemaを参照して、独自のJSONファイルに対するIntelliSenseと検証を有効にします。
よくある質問
このツールは無料ですか?
はい、JSON Schema生成ツールは完全に無料で、サインアップも利用制限もありません。どれだけ多くのJSONオブジェクトでも、無料でスキーマを生成できます。
データは安全ですか?
はい。スキーマの生成はすべてブラウザー上で行われます。JSONデータがサーバーに送信されることはないため、社内専用のAPIペイロードや内部のデータ構造にも安心して使えます。
JSON Schemaとは何ですか?
JSON Schemaは、JSONドキュメントに注釈を付けて検証するための宣言的な語彙です。JSONオブジェクトに期待される構造、データ型、必須プロパティ、制約を記述します。API仕様(OpenAPI/Swagger)、フォーム生成ライブラリ、設定の検証ツールなどで広く使われています。
どのドラフトバージョンを使うべきですか?
ほとんどのプロジェクトには、検証ライブラリやツール類で最も広くサポートされているdraft-07をおすすめします。draft-04やdraft-06は、お使いのツールチェーンが古いバージョンを特に必要とする場合のみ使用してください。
生成されたスキーマを編集できますか?
生成されたスキーマは出発点です。ダウンロードまたはコピーしたあとで、minLength、maximum、enumの値、patternの正規表現など、サンプルデータだけからは推論できない制約を手動で追加できます。
異なる型が混在する配列に対応していますか?
このジェネレーターは、最初の要素から配列要素の型を推論します。配列に異なる型が混在している場合は、生成後にitemsの定義をoneOfまたはanyOfのスキーマに手動で調整する必要があるかもしれません。
ヒントとベストプラクティス
- 代表的なサンプルデータを用意:スキーマが構造全体を捉えられるよう、サンプルのJSONにはあり得るすべてのフィールドを含めてください。
- requiredの配列を有効にする:スキーマを検証に使うときに必須フィールドを強制するため、「required」オプションをオンにします。
- 説明はあとから追加:生成時にdescriptionのプレースホルダーを有効にし、スキーマを共有する前に意味のあるドキュメントに置き換えます。
- 厳格なAPIにはadditionalProperties: falseを:これにより、クライアントが想定外のフィールドを送信して、後続の処理で問題が起きるのを防げます。
- 生成後に検証:JSON Schemaバリデーターを使って複数のサンプルペイロードでスキーマをテストし、エッジケースを網羅できているか確認します。
- スキーマをバージョン管理:スキーマファイルをAPIのコードと一緒にバージョン管理システムで保管し、変更履歴を追跡します。