JSON 转代码类型

把一段 JSON 或一个 JSON Schema 直接生成为代码里的类型定义:TypeScript 的 interface、Go 的 struct、Java 的 POJO、Python 的 dataclass、C# 的 class,一共 26 种语言。照着一坨接口响应手抄字段最枯燥,还得判断哪里是数组、哪个字段可空,这里贴进去就出来。

工具界面在页面加载完成后显示在本段下方,可以直接使用。所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

JSON 转代码类型能做什么

把一段 JSON 或一个 JSON Schema 直接生成为代码里的类型定义:TypeScript 的 interface、Go 的 struct、Java 的 POJO、Python 的 dataclass、C# 的 class,一共 26 种语言。照着一坨接口响应手抄字段最枯燥,还得判断哪里是数组、哪个字段可空,这里贴进去就出来。

怎么用JSON 转代码类型

  1. 把接口返回的 JSON 粘进左边输入框,// 注释和对象结尾多余的逗号都能直接读
  2. 右侧默认生成 TypeScript interface,用「目标语言」下拉框换成 Go、Java、Python 等 26 种之一
  3. 根类型名默认 Root,可以改成项目里实际在用的 User、OrderVO 这类名字
  4. 展开「高级选项」调该语言的细节:只生成类型还是连序列化代码一起生成、包名、缩写词大小写、数组写成 array 还是 list
  5. 右上角复制,或点下载存成 .ts / .go / .java 文件

示例

输入:

{"id": 1, "tags": ["a"], "meta": {"ok": true}}

输出:

export interface Root {
    id:   number;
    tags: string[];
    meta: Meta;
}

export interface Meta {
    ok: boolean;
}

嵌套对象自动拆成独立 interface,数组推断成 string[]

使用技巧与注意点

常见问题

支持 GraphQL schema 吗?

不支持。底层用的 quicktype-core 26.0 已经把 GraphQL 输入移除了,这一页只吃 JSON 和 JSON Schema。

带注释的 JSON 能直接贴吗?

能。tsconfig.json 那种 // 和 /* */ 注释、对象或数组结尾多余的逗号,都会先被清掉再解析。

会上传我的数据吗?

不会。生成全部在这个页面里完成,不请求任何服务器,数据不出浏览器。

生成的代码能直接放进项目吗?

类型定义部分可以直接用。带序列化代码的语言(Java、C#、Swift 等)会引用对应框架的包,用之前看一眼文件头的 import。

相关工具

同类JSON 工具

查看全部JSON 工具