JSON 转 TS 类型 - 在线生成 TypeScript 类型

把 JSON 示例一键生成 TypeScript 接口定义,实时合并数组元素、标记可选字段,支持 readonly 与多种示例

JSON 转 TS 类型 · 使用说明

JSON 转 TypeScript 工具把接口返回的 JSON 示例一键变成可用类型定义:自动为每个字段推断类型,数组元素会合并推断出联合类型,只在部分记录里出现的字段标记为可选,可切换 interface 与 type、是否 readonly、是否导出。生成的类型可直接粘贴进项目,省去手工对齐字段的时间。解析与生成都在浏览器本地完成,示例数据不会上传。

示例

输入
{"id":1,"name":"pxbo","tags":["dev","tools"]}
输出
interface Tags {
}
interface Root {
  id: number;
  name: string;
  tags: string[];
}

如何使用

  1. 粘贴 JSON 示例数据
  2. 设置根类型名(如 User、ApiResponse)
  3. 点「生成 TS 类型」并复制到项目中

小贴士

  • 数组里字段不一致时,只在部分元素出现的字段会自动加 ?
  • 勾选「字段全部可选」可生成 Partial 风格定义

常见问题

JSON 转 TS 会上传我的数据吗?

不会。类型生成完全在浏览器本地完成,数据不会上传任何服务器,页面关闭后也不留下记录,和站内 本地工具 一致。

嵌套数组是怎么合并的?

数组成员对象的字段取并集:所有元素都出现的字段生成为必选,只在部分元素出现或值为 null 的字段标为可选;同名字段尽量合并成一种类型。

可选字段是怎么判断的?

当某个字段只在部分样本中出现、或某条记录里值为 null/缺席,就会被标记为可选(?:)。因此样本越全,生成的类型越接近真实接口结构。

生成的类型能直接用吗?

可以作为起点,但建议人工复核边界:缺字段手动补上、枚举与联合类型按实际业务收敛,别盲目照搬,接口变动后再重新生成。

想先取值验证一下?

生成前先用 JSONPath 取出你要建模的片段,确认字段结构一致后再粘贴生成,避免样本混杂导致类型失真。

📂

松开以自动格式化

支持 .json / .sql / .csv / .html / .css / .xml / .yaml 文件