结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
JSON 转 TypeScript 工具读取一个 JSON 示例对象,并生成与之匹配的 TypeScript 接口。每个嵌套对象都有自己命名的接口,每个属性的类型则根据其值推断:string、number、boolean、null、数组类型或另一个接口。
在接口名称字段中设置接口名。如果 JSON 是数组,类型取自它的第一个元素,并会额外添加一个列表类型,例如 type UserList = User[];。
适用场景
- 为你在 TypeScript 前端或 Node.js 服务中调用的 API 响应添加类型。
- 基于真实的 payload 建立数据模型,而不是手写接口。
- 为团队记录 webhook 或事件 payload 的结构。
示例
输入
{"id": 1, "name": "Ana", "active": true, "address": {"city": "Lisbon"}, "tags": ["admin"]}
输出
interface Address {
city: string;
}
interface User {
id: number;
name: string;
active: boolean;
address: Address;
tags: string[];
}关于这个工具的问题
能识别可选属性吗?
不能。类型是从单个示例推断出来的,所以示例中缺少的属性在接口中也会缺失。请给并非总会出现的属性加上 ?。
null 会得到什么类型?
示例中为 null 的值会得到 null 类型。如果该字段可能有值,请把它改成联合类型,例如 string | null。
混合类型的数组会怎样处理?
元素类型会变成联合类型,例如 (string | number)[]。空数组会变成 unknown[],因为没有可供推断的内容。
这个工具免费吗?
是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。
如何获取结果?
在此页面使用工具即可查看结果,无需通过电子邮件接收。