JSON 转 TypeScript

粘贴 JSON 即生成 TS 接口或类型声明:数组里的多个对象会递归合并,只有部分元素拥有的字段自动标记为可选。

功能特性

数组元素合并

同一数组里多个对象的字段取并集,只在部分元素出现的字段自动标记为可选。

嵌套对象抽离

嵌套结构自动拆成独立接口并按层级命名,也可以选择行内展开。

中文与特殊键名

中文键照常生成类型名,user-name、2fa 这类非法标识符自动加引号。

本地处理

转换全部在浏览器完成,接口数据不会上传服务器。

使用步骤

01粘贴 JSON

把接口返回或配置文件内容贴到左侧输入框。

02调整选项

选择声明方式、是否合并数组元素以及 null 的处理方式。

03复制或下载

右侧实时生成结果,可一键复制或下载 .ts 文件。

适用场景

接口返回建模前端类型定义第三方 API 对接Mock 数据转类型配置文件类型化老 JS 项目补类型

常见问题

数组里各元素的字段不一致会怎样?

所有元素的字段取并集:只在部分元素中出现的字段标记为可选(key?),同一字段类型不同则输出联合类型,例如 string | number。

JSON 里值为 null 的字段生成什么类型?

JSON 无法表达 null 的类型信息,默认写作 unknown;也可以选择标记为可选,或原样保留 null。

生成的类型可以直接用吗?

可以直接粘贴进 .ts 文件。建议再按业务语义调整类型名与个别字段,例如把时间字符串换成 Date、把固定的字符串收敛成字面量联合类型。

数据会上传到服务器吗?

不会。转换完全在浏览器本地完成,关闭页面数据即消失。

相关工具