开发工具
JSON 转 TypeScript在线工具
JSON 转 TypeScript 工具可以根据 JSON 对象或数组自动推断字段类型,生成 interface 和 type 定义,适合把接口样例快速整理成前端可用的类型声明。
功能介绍
前端接口联调时逐个手写类型声明既费时又容易漏字段。本工具把接口返回的 JSON 样本直接转换成 TypeScript 代码:粘贴 JSON 后即时生成 export interface 定义,嵌套对象会拆分成独立接口,名称跟随父级类型和字段名自动派生。
类型推断覆盖了样本数据的常见情况:对象数组会合并所有元素出现过的字段,只在部分元素中出现的字段自动加问号成为可选属性;同一字段出现多种类型时生成联合类型;带短横线、空格等字符的字段名会自动加引号;顶层是数组或基础值时改为输出 export type 别名。
使用方法
- 在根类型名称输入框设定顶层类型名,工具会转成 PascalCase 并在下方提示实际生成的名称;
- 把 JSON 对象或数组粘贴进左侧输入框,右侧立即显示生成的 TypeScript 定义,无需点击转换;
- 第一次使用可点击示例按钮加载样本,观察嵌套对象、对象数组合并和非标准字段名的处理方式;
- 确认结果后点击结果面板右上角的复制按钮,把类型代码粘贴到项目中。
注意事项
- 类型基于单份样本推断,样本中恰好为 null 或缺失的字段会被推断成 null 类型或可选属性,接入前应结合接口文档人工复核可选字段和联合类型。
- 空数组无法推断元素类型,会输出 unknown[],需要手动补充实际类型。
- JSON 解析和代码生成都在浏览器内完成,接口样本不会发送到服务器。
常见使用场景
- 把接口响应 JSON 转成 TypeScript interface
- 根据对象数组合并字段并标记可选属性
- 为嵌套对象生成独立类型定义
- 整理联调样例中的字段类型
常见问题
数组里的对象字段不完全一致时会怎么处理?
工具会合并数组中出现过的字段,在部分对象缺失的字段后加问号,生成可选属性。
字段名包含短横线或空格还能生成类型吗?
可以。不能作为普通 TypeScript 标识符的字段会自动加引号,例如 "user-id": string。
JSON 转 TypeScript 会上传我的接口数据吗?
不会。解析和类型生成都在浏览器本地完成,输入内容不会因为转换操作发送到服务器。