JSON 转 GraphQL Schema 生成器 在线工具

在浏览器中将 JSON 示例转换为 GraphQL SDL 类型定义。你粘贴的任何内容都不会被上传。

JSON 转 GraphQL Schema 生成器完全在你的浏览器中运行。你粘贴的 JSON 示例和生成的 SDL 永远不会上传到 ArrayKit。

由 Udit Agarwal 开发和维护

打开 JSON 转 TypeScript 转换器

关于 JSON 转 GraphQL

JSON to GraphQL Schema 可将一个 JSON 示例转换为可直接使用的 GraphQL SDL 文档。粘贴一个对象后,它会推断出一个 `type Root` 块,将数字映射为 Int 或 Float,字符串映射为 String,布尔值映射为 Boolean,任何名为 id 的键映射为 ID 标量。数组会变成非空的列表类型,如 [String!]!,嵌套对象会被拆分为各自独立的命名类型(由字段键生成 PascalCase 命名),从而让 schema 保持可读,而不是深度内联。当你从示例响应原型设计一个 GraphQL API、迁移一个 REST 端点,或在后端尚未建成前草拟 resolver 时,这非常有用。你可以设置自定义的根类型名称,复制生成的 SDL,或将其下载为 .graphql 文件。一切都在浏览器中本地运行——你的 JSON 示例不会被上传到任何地方。

功能特性

  • 从任意 JSON 对象推断出完整的 GraphQL `type` 块
  • 根据数字是否为整数将其映射为 Int 或 Float
  • 识别 "id" 字段并将其类型化为 GraphQL 的 ID 标量
  • 自动将嵌套对象转换为各自独立的命名类型
  • 数组会变成非空的列表类型,例如 tags: [String!]!
  • 对 schema 中重复出现的嵌套类型名称进行去重
  • 自定义根类型名称字段,默认值为 "Root"
  • 复制 SDL 或将其下载为 .graphql 文件,全部在客户端完成

如何使用 JSON 转 GraphQL

  1. 在输入区粘贴一个 JSON 对象,或加载示例
  2. 可选地设置一个根类型名称
  3. 在右侧查看生成的 GraphQL SDL
  4. 复制 schema 或将其下载为 .graphql 文件

示例

输入

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

输出

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

id 字段被类型化为 ID,name 变成一个非空的 String。

常见错误与故障排除

  • 每个字段都是必填的(String!),但某些响应中会省略该键。 — 在示例中为可能缺失的字段包含 `null` 值——JSON 转 GraphQL Schema 生成器会将 null 或缺失的值处理为可空类型,而不是添加 !。
  • 某个数组字段生成的是 [String]! 而不是带类型的列表。 — 在示例数组中至少提供一个非空元素,以便工具能够推断其元素类型;空数组默认使用 [String]。
  • 两个不同的嵌套对象生成了相同的类型名称。 — 在粘贴前重命名其中一个 JSON 键,或者之后在生成的 SDL 中重命名类型——生成器按名称去重,因此相同的键会共用一个类型。
  • 提示栏显示 "Invalid JSON",没有生成任何 schema。 — 检查是否有多余的逗号、未加引号的键或使用了单引号——工具需要严格的 JSON 格式,错误信息中会包含行号和列号以便修复。

常见问题

JSON 转 GraphQL Schema 生成器会生成什么?
它会读取一个 JSON 示例并输出 GraphQL SDL——一个或多个 `type` 块,包含字段名以及推断出的标量、列表或对象类型——你可以将其直接放入 GraphQL schema 文件中使用。
它是如何在 Int、Float、ID 和 String 之间做出判断的?
整数会变成 Int,小数会变成 Float;任何字面上名为 "id" 的字段都会被类型化为 GraphQL 的 ID 标量;文本会变成 String,true/false 会变成 Boolean。
JSON 转 GraphQL 工具能处理嵌套对象和数组吗?
可以。嵌套对象会变成各自独立的命名 GraphQL 类型(由字段键生成 PascalCase 命名),数组会变成非空的列表类型,如 [String!]!,元素类型从第一个元素推断得出。
我可以重命名生成的根类型吗?
可以。使用根类型名称字段——默认值为 "Root",但在复制 schema 之前,你可以将其设置为任何名称,例如 "User" 或 "Product"。
我的 JSON 示例会被上传到某处吗?
不会。JSON 转 GraphQL Schema 生成器完全在你的浏览器中运行。你粘贴的 JSON 以及生成的 SDL 永远不会离开你的设备。
无效或格式错误的 JSON 会怎样处理?
工具会显示一个错误提示栏,说明问题所在,并在可能的情况下给出行号和列号,而不是生成一个损坏的 schema。

相关工具

更多JSON工具

  • JSON转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 — 对比两个 JSON 文档,查看与键顺序无关的结构化差异。
  • JSON Schema 生成器 — 从样本生成 JSON Schema,或根据 schema 校验文档。
  • JSON 扁平化 / 还原 — 将嵌套的 JSON 扁平化为点记法键,或将扁平路径还原回去。
  • JSON 转 Zod — 从 JSON 示例生成 Zod 模式,可推断类型与嵌套对象。

查看全部JSON工具 (29) · 全部工具