JSON 转 TypeScript 类型定义
将 JSON 数据自动转换为 TypeScript 接口类型定义,支持嵌套对象和数组类型推断。
什么是 JSON 转 TypeScript 工具?
JSON 转 TypeScript 工具是一款免费的在线工具,用于将 JSON 数据自动转换为 TypeScript 接口类型定义。在 TypeScript 开发中,我们经常需要为 JSON 数据定义类型,手动编写不仅耗时,还容易出错。这款工具可以帮助你自动完成这一工作。
如何使用这个工具?
- 输入 JSON:在左侧的 JSON 输入框中粘贴或输入需要转换的 JSON 数据。
- 格式化 JSON:点击"格式化"按钮可以美化 JSON 格式。
- 配置选项:根据需要勾选选项(添加根类型、只读属性、可选属性)。
- 设置根类型名称:在输入框中自定义根接口的名称。
- 复制结果:点击"复制"按钮将生成的 TypeScript 代码复制到剪贴板。
核心功能特点
- 自动类型推断:智能分析 JSON 数据的结构,自动推断 TypeScript 类型
- 嵌套对象支持:支持多层级嵌套对象的类型生成
- 数组类型处理:自动识别数组元素类型,处理同构和异构数组
- 配置选项:
- 添加根类型:自动生成包含所有属性的根接口
- 只读属性(readonly):生成只读属性,适合 React/Redux 项目
- 可选属性(?):将所有属性标记为可选
- 纯前端处理:数据不上传服务器,保护代码隐私
类型推断规则
| JSON 值 | 推断的 TypeScript 类型 |
|---|---|
"text" |
string |
123 |
number |
true / false |
boolean |
null |
null |
[1, 2, 3] |
number[] |
[{...}] |
推断数组元素类型 + [] |
{...} |
生成子接口 |
| 混合数组 | (type1 | type2)[] |
使用场景
- API 响应类型定义:为 API 返回的 JSON 数据快速生成类型定义
- 配置文件类型化:为 JSON 配置文件生成类型,确保配置正确
- 数据库模型定义:为数据库查询结果生成 TypeScript 类型
- 前端状态管理:为 Redux/React 状态生成只读类型定义
- 数据验证:结合 Zod 等库进行运行时验证
常见问题 (FAQ)
这个工具安全吗?
非常安全。 本工具完全运行在你的浏览器本地(纯前端处理)。你输入的 JSON 数据不会被上传到任何服务器。
支持嵌套的 JSON 吗?
支持。本工具可以处理任意深度的嵌套 JSON 数据,并为每个嵌套对象自动生成子接口定义。
如何处理同构和异构数组?
- 同构数组
[1, 2, 3]→number[] - 异构数组
[1, "text"]→(number | string)[]
readonly 选项有什么用?
勾选 readonly 选项后,生成的类型定义中所有属性都会带有 readonly 修饰符。这在 TypeScript 中表示属性是只读的,不能被重新赋值。适合用于:
- React 组件的 props 类型
- Redux store 的 state 类型
- 不可变数据(Immutable.js)的类型定义