JSON 转 TypeScript

将 JSON 数据转换为 TypeScript interface 或 type,支持联合类型、可选字段与嵌套对象推断

关键信息

分类
开发与 Web
输入类型
textarea, text, select, checkbox
输出类型
text
样本覆盖
4
支持 API
Yes

概览

JSON 转 TypeScript 工具可以快速将 JSON 数据结构转换为强类型的 TypeScript 声明。它支持自定义根类型名称、选择 interface 或 type 导出风格,并能自动推断嵌套对象和数组类型,帮助前端开发者快速构建类型安全的 API 响应和数据模型。

适用场景

  • 在对接后端 API 接口时,需要根据返回的 JSON 响应快速生成对应的 TypeScript 类型定义。
  • 在重构遗留 JavaScript 项目时,需要将现有的 JSON 配置文件或 mock 数据转换为 TypeScript 声明。
  • 在编写前端组件或状态管理逻辑时,需要为复杂的嵌套 JSON 数据结构定义清晰的类型约束。

工作原理

  • 在输入框中粘贴或输入需要转换的 JSON 数据。
  • 设置根类型名称,并选择导出风格为 interface 或 type,同时可根据需要勾选是否将所有字段设为可选。
  • 工具自动解析 JSON 结构,推断数据类型(如字符串、数字、数组及嵌套对象),并即时生成对应的 TypeScript 代码。

使用场景

快速生成 API 响应的 TypeScript 接口定义,提升前端开发效率。
将 Mock 数据转换为类型声明,确保测试数据与业务代码类型一致。
转换复杂的 JSON 配置文件,为项目配置提供静态类型检查和自动补全。

用户案例

1. 快速定义用户信息 API 响应类型

前端开发工程师
背景原因
正在接入一个新的用户详情接口,后端返回了一个包含嵌套地址和角色列表的 JSON 响应。
解决问题
手动编写嵌套的 TypeScript interface 费时费力,且容易拼写错误。
如何使用
将用户 JSON 数据粘贴到输入框中,设置根类型名称为 UserProfile,导出风格选择 interface。
示例配置
{
  "rootName": "UserProfile",
  "exportStyle": "interface",
  "optionalFields": false
}
效果
瞬间生成了包含 UserProfile 和嵌套 Address 结构的 TypeScript interface,直接复制即可在项目中使用。

2. 转换可选配置文件的 JSON 数据

全栈开发人员
背景原因
项目中有一个 config.json 配置文件,部分字段在某些环境下可能缺失,需要将其转换为所有字段均为可选的 TypeScript 类型。
解决问题
需要快速生成一个所有属性都带有 ? 修饰符的类型别名。
如何使用
粘贴配置 JSON,将根类型名称设为 AppConfig,导出风格选择 type,并勾选“可选字段”选项。
示例配置
{
  "rootName": "AppConfig",
  "exportStyle": "type",
  "optionalFields": true
}
效果
输出了一个以 type AppConfig = { ... } 格式定义的类型,且所有属性均自动加上了可选标记 ?

用 Samples 测试

json

相关专题

常见问题

这个工具支持嵌套的 JSON 对象吗?

支持。工具会自动递归解析嵌套的子对象,并为其生成独立的子类型或内联类型定义。

什么是“可选字段”选项?

勾选该选项后,生成的 TypeScript 类型中所有属性都会带上问号(?),表示这些字段在数据中是可选的。

导出的 interface 和 type 有什么区别?

interface 主要用于定义对象结构,支持继承和合并;type 则是类型别名,适用于定义联合类型或更复杂的类型组合。

如果 JSON 数据格式不正确会怎样?

输入的 JSON 必须符合标准的 JSON 语法规范,如果存在格式错误,工具会提示解析失败,请确保双引号和逗号正确。

数组中的混合类型会如何处理?

工具会分析数组中的所有元素,并自动推断为联合类型(例如 string | number)或对象数组。

API 文档

请求端点

POST /zh/api/tools/json-to-typescript

请求参数

参数名 类型 必填 描述
jsonInput textarea -
rootName text -
exportStyle select -
optionalFields checkbox -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-json-to-typescript": {
      "name": "json-to-typescript",
      "description": "将 JSON 数据转换为 TypeScript interface 或 type,支持联合类型、可选字段与嵌套对象推断",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-typescript",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]