JSON 转 TS

根据 JSON 样本自动生成 TypeScript 接口定义,合并同构数组元素类型。

JSON 转 TS是做什么的

联调拿到接口返回的 JSON 样本,手写对应的 TypeScript 接口既费时又容易漏字段。粘贴样本后自动生成 interface 定义,嵌套对象与数组元素拆成独立类型,数组元素字段取并集,可选字段自动加问号。

核心功能

  • 数组元素字段取并集合并为同一类型
  • 勾选字段可选后所有属性带问号
  • 非法字段名自动加引号保证合法
  • 根接口名可自定义,默认 Root

JSON 转 TS怎么用

粘贴接口返回的 JSON 样本,生成对应的 interface。数组会取所有元素的并集,可选字段会标记为 ?。

  1. 粘贴接口返回的 JSON 样本到输入框
  2. 在右上角输入框改根接口名如 UserResponse
  3. 需要字段全部可空时勾选字段可选
  4. 点生成查看右侧结果,点复制拿进项目

适合这些场景

  • 前端根据后端返回样本建类型文件
  • 把爬虫输出样本转成 TS 类型便于处理
  • 评审接口文档时快速核对字段结构

常见问题

生成的类型能直接用吗?

可以,字段名非法时会自动加引号,空数组会标注为 any 数组;建议把生成名按业务习惯改成语义化命名再提交。

数组元素字段不一致怎么处理?

取所有元素字段的并集合并成一个类型,例如有的元素缺 price 字段,合并后仍会包含 price,使用时注意判空。

基本类型怎么映射?

字符串映射 string、数字映射 number、布尔映射 boolean,单独出现的 null 标注为 null,无法识别的结构回退 any。

生成的类型会和实际返回不符吗?

工具只依据你贴的样本推断,样本里没出现的字段或类型波动无法体现,接口有多种返回形态时建议分别生成再合并。