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、把固定的字符串收敛成字面量联合类型。
数据会上传到服务器吗?
不会。转换完全在浏览器本地完成,关闭页面数据即消失。