JSON转TypeScript接口
JSON 一键生成 TS 接口定义
这个工具能做什么
这个工具做的事情很直接:把一段 JSON 粘贴进来,它就会解析结构并生成对应的 TypeScript interface 定义。日常开发里,后端接口返回的 JSON 往往字段又多又深,手动照着响应体一个个敲 interface 既枯燥又容易漏字段、写错类型,接口一改还得同步维护。json转typescript 这一步交给工具自动完成,你拿到的是可以直接粘进 .ts 文件的类型声明,省去了 json转接口 过程中的机械劳动,也减少了人眼比对带来的低级错误。
它的工作方式是先用 JSON.parse 把文本解析成 JavaScript 对象,再递归遍历每个键值对,依据值的运行时类型做映射:数字给 number、字符串给 string、布尔值给 boolean,null 因为无法从单个值判断真实类型,统一记为 any。遇到数组会取元素类型输出成 T[] 形式;遇到嵌套对象,则不会内联展开,而是拆分成一个独立的 interface,并以该字段的键名作为接口名,这样多层嵌套也能保持每层结构清晰、可复用。根接口默认命名为 Root,你可以自行改成更贴合业务的名字,整个 json转ts 的推断都基于你提供的这份样本数据。
最常见的用法是对接后端或第三方 API。比如你从接口拿到一段用户信息响应,里面嵌套了 profile、address、订单列表等结构,直接贴进来就能一次性得到 User、Profile、Address 等多个 interface,稍作重命名就能用在请求封装和组件 props 上。再比如手头只有一份 Mock 数据或文档里的示例 JSON,用它做一次 ts接口生成 得到初稿,再手动补充注释和可选标记,比从零手写快得多,尤其适合字段几十上百个的大响应体。
需要留意的是,类型推断完全基于你贴进来的这一个样本,工具看到的是值而不是语义。所以时间戳会被判成 number、日期字符串会被判成 string,它无法知道你想用 Date;同理,字段是否可选(?)、是否为联合类型、数字是否其实是枚举,这些都超出了单样本能推断的范围,需要你在生成后手动调整。空数组和 null 由于缺少可采样的信息,得到的类型会偏宽泛(如 any),也建议人工收紧。和 quicktype 这类支持多语言、多样本合并与可选性推断的重型工具相比,这个工具更聚焦 json to interface 单一场景,胜在轻量、即贴即用,全部转换在浏览器本地完成、不上传数据。
JSON转TypeScript接口是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“json转typescript”、“json转ts”、“json转接口”,说的都是这个。
常见使用场景
- 为后端返回的 JSON 快速生成前端类型声明
- 对接第三方 API 时补齐缺失的接口类型
- 把 Mock 数据一键转成 interface 起草类型骨架
- 接手旧项目时根据接口响应还原类型结构
- 大响应体字段太多时省去手写 interface
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。