JSON to GraphQLスキーマジェネレーター オンライン

JSONサンプルをGraphQL SDLの型定義に変換します。ブラウザ内で完結し、貼り付けた内容はアップロードされません。

JSON to GraphQLスキーマジェネレーターは完全にブラウザ内で動作します。貼り付けたJSONサンプルと生成されたSDLがArrayKitにアップロードされることはありません。

開発・運営:Udit Agarwal

JSON to TypeScriptコンバーターを開く

JSON to GraphQL について

JSON to GraphQL Schemaは、JSONサンプルをそのまま使えるGraphQL SDLドキュメントに変換します。オブジェクトを貼り付けると`type Root`ブロックを推論し、数値はIntまたはFloatに、文字列はStringに、真偽値はBooleanに、idという名前のキーはIDスカラーにマッピングします。配列は[String!]!のような非nullのリスト型になり、ネストしたオブジェクトはそれぞれ独自の名前付き型(フィールドキーからのPascalCase)に分割されるため、深くインラインになるのを避けてスキーマの可読性を保ちます。サンプルレスポンスからGraphQL APIをプロトタイピングしたり、REST エンドポイントを移行したり、バックエンドが存在する前にリゾルバーを設計したりする際に便利です。カスタムのルート型名を設定し、生成されたSDLをコピーするか、.graphqlファイルとしてダウンロードできます。すべてブラウザ内でローカルに実行され、JSONサンプルがどこかにアップロードされることはありません。

機能

  • 任意のJSONオブジェクトから完全なGraphQLの`type`ブロックを推論
  • 整数かどうかに応じて数値をIntまたはFloatにマッピング
  • "id"フィールドを認識し、GraphQLのIDスカラーとして型付け
  • ネストしたオブジェクトを自動的に独自の名前付き型に変換
  • 配列は非nullのリスト型になる(例: tags: [String!]!)
  • スキーマ内で繰り返し出現するネスト型名を重複排除
  • デフォルトが"Root"のカスタムルート型名フィールド
  • SDLをコピーするか、.graphqlファイルとしてダウンロード(すべてクライアント側)

JSON to GraphQL の使い方

  1. 入力欄にJSONオブジェクトを貼り付けるか、サンプルを読み込む
  2. 必要に応じてルート型名を設定する
  3. 右側に生成されたGraphQL SDLを確認する
  4. スキーマをコピーするか、.graphqlファイルとしてダウンロードする

例

入力

{"id":1,"name":"Ada"}

出力

type Root {
  id: ID!
  name: String!
}

idフィールドはIDとして型付けされ、nameは非nullのStringになります。

よくあるエラーとトラブルシューティング

  • すべてのフィールドが必須(String!)になるが、一部のレスポンスにはこのキーが存在しない。 — 欠落しうるフィールドには`null`を含む代表的なサンプルを使ってください。JSON to GraphQLスキーマジェネレーターは、null または存在しない値には!を付けずnullable型にします。
  • 配列フィールドが型付きリストではなく[String]!になった。 — サンプル配列に少なくとも1つの非null要素を含めると要素の型を推論できます。空の配列はデフォルトで[String]になります。
  • 異なる2つのネストしたオブジェクトが同じ型名を生成した。 — 貼り付ける前にJSONのキー名の一方を変更するか、生成後のSDLで型名を変更してください。ジェネレーターは名前で重複排除するため、同一のキーは1つの型を共有します。
  • バナーに"Invalid JSON"と表示され、スキーマが生成されない。 — 末尾のカンマ、クォートされていないキー、シングルクォートがないか確認してください。ツールは厳密なJSONを必要とし、エラーメッセージには修正のための行と列が含まれます。

よくある質問

JSON to GraphQLスキーマジェネレーターは何を生成しますか?
JSONサンプルを読み取り、フィールド名と推論されたスカラー型・リスト型・オブジェクト型を含む1つ以上の`type`ブロックからなるGraphQL SDLを出力します。そのままGraphQLのスキーマファイルに貼り付けて使えます。
Int、Float、ID、Stringはどのように判定されますか?
整数はIntに、小数はFloatになります。文字通り"id"という名前のフィールドはGraphQLのIDスカラーとして型付けされ、テキストはString、true/falseはBooleanになります。
JSON to GraphQLツールはネストしたオブジェクトや配列を処理できますか?
はい。ネストしたオブジェクトはそれぞれ独自の名前付きGraphQL型(フィールドキーからのPascalCase)になり、配列は[String!]!のような非nullのリスト型になり、要素の型は最初の項目から推論されます。
生成されたルート型の名前を変更できますか?
はい。ルート型名フィールドを使用してください。デフォルトは"Root"ですが、スキーマをコピーする前に"User"や"Product"など任意の名前に設定できます。
私のJSONサンプルはどこかにアップロードされますか?
いいえ。JSON to GraphQLスキーマジェネレーターは完全にブラウザ内で動作します。貼り付けたJSONと生成されたSDLがデバイスの外に出ることはありません。
無効な、または構文が壊れたJSONの場合はどうなりますか?
ツールは壊れたスキーマを生成する代わりに、問題の内容と、可能な場合は行と列を示すエラーバナーを表示します。

関連ツール

JSONの他のツール

  • JSON to SQL — JSON配列をCREATE TABLEとINSERT文に変換。
  • JSON フォーマッター — JSONの整形・圧縮・検証を行い、エラー箇所も表示します。
  • JSON ツリービューア — JSONを折りたたみ可能な型付きツリーとして閲覧します。
  • JSON ビューア — テキストと折りたたみツリーのビューア。展開/折りたたみとノードパスに対応。
  • JSON から TypeScript — サンプルJSONから TypeScript のインターフェースを生成します。
  • JSON から CSV — フラットなJSONオブジェクトの配列をCSVに変換します。
  • JSON エスケープ / アンエスケープ — テキストをJSON文字列にエスケープ、またはJSON文字列をプレーンテキストに戻します。
  • JSON からコード — JSONから Go、Rust、Python、Java、Kotlin、C#、TypeScript の型を生成します。
  • JSON Diff — 2つのJSONを比較し、追加・削除・変更を構造的な差分で表示します。
  • JSON Schema 生成・検証ツール — JSONサンプルからスキーマを生成し、ドキュメントを検証します。
  • JSON Flatten / Unflatten — ネストしたJSONをドット記法のキーにフラット化し、元に戻す。
  • JSON to Zod — JSONサンプルからZodスキーマを生成。

JSONのツールをすべて見る (29) · すべてのツール