使用步骤
- 粘贴 JSON 示例,或点「加载示例」。
- 设置根类型的名称。
- 选择生成 interface 还是 type。
- 复制或下载生成的类型。
参数说明
- 根类型名称
- 顶层类型的名称,例如 User、ApiResponse。嵌套类型按键名命名,address 生成 Address,posts 的元素生成 Post。
- 用 type 代替 interface
- 生成 type User = { … } 形式的类型别名。对普通数据来说两者效果相同。
使用示例
{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} 会生成:
export interface Owner {
name: string;
}
export interface Root {
id: number;
tags: string[];
owner: Owner;
}
常见问题
对象数组怎么处理?
所有元素合并成一个类型。只在部分元素中出现的键变成可选(key?),有时为 null 的值变成 string | null 这样的联合类型。
为什么有的字段是 unknown?
示例中这个字段只有 null,推断不出真实类型。请手动改成正确的类型,或换一份该字段有值的示例。
整数和小数会区分吗?
TypeScript 中都是 number。Go、Rust 和 Python 的输出会区分整数和小数。
JSON 数据会上传吗?
不会。类型在浏览器中生成,包含真实数据的接口返回也不会离开你的设备。
隐私说明
本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。