JSON to GraphQLスキーマジェネレーター オンライン
JSONサンプルをGraphQL SDLの型定義に変換します。ブラウザ内で完結し、貼り付けた内容はアップロードされません。
JSON to GraphQLスキーマジェネレーターは完全にブラウザ内で動作します。貼り付けたJSONサンプルと生成されたSDLがArrayKitにアップロードされることはありません。
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 の使い方
- 入力欄にJSONオブジェクトを貼り付けるか、サンプルを読み込む
- 必要に応じてルート型名を設定する
- 右側に生成されたGraphQL SDLを確認する
- スキーマをコピーするか、.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の場合はどうなりますか?
- ツールは壊れたスキーマを生成する代わりに、問題の内容と、可能な場合は行と列を示すエラーバナーを表示します。
関連ツール
すべての ArrayKit ツール