查找工具

↑↓ 选择 Enter 打开

不知道工具名称时,可输入“格式化”或“计数”等任务词。

JSON 怎么转 TypeScript?生成后还要检查什么?

发布与核对日期 · 作者 KitLumi Engineering

在 KitLumi JSON 转 TypeScript 工具中粘贴有代表性的 JSON,选择 Interfaces 或 Type aliases,然后点击 Convert。生成结果是静态类型的起点,单个样本无法说明 API 的全部情况,生成的声明也不会验证运行时响应。当前工具界面为英文。

打开免费工具(英文界面) →

具体怎么操作?

  1. 准备一个有代表性的 JSON 对象或数组,删除示例中不需要的凭证和个人信息。
  2. 在工具中选择 Interfaces 或 Type aliases,点击 Convert。
  3. 检查 Root 和嵌套声明,根据真实接口约定修正字段后,再复制或下载结果。

一份 JSON 样本能推断出什么?

下面的样本包含数字 id、字符串 name 和布尔值 active。但这只反映一次响应;其他合法响应可能省略 name,或将它设为 null。把生成结果用于项目之前,应当对照 API 文档。

{"id":42,"name":"Ada","active":true}

interface Root {
  id: number;
  name: string;
  active: boolean;
}

type Payload = Root;

可选字段、null 和数组应该怎么检查?

如果接口允许不返回 name,应检查是否需要写成 name?: string;如果允许显式返回 null,应检查是否需要 name: string | null。当前生成器使用数组首项推断元素类型,空数组不能提供元素结构。请根据接口约定逐一检查可能出现的变体。

生成 interface 后就能校验接口数据吗?

不能。TypeScript 声明用于编译时的类型检查;如果业务需要验证网络响应,仍需加入运行时校验。接口规范或运行时 schema 才能定义完整的数据约束。

遇到问题怎么办?

问题处理方法
JSON 无法解析用 JSON 格式化工具检查引号、逗号和括号。JavaScript 对象字面量不一定是合法 JSON。
空数组无法推断结构使用具有代表性的非空样本,再与完整接口规范核对。
可能缺失的字段被生成为必填检查其他响应或 API 文档,确认允许省略后再添加可选标记。
很长的数字 ID 发生变化如果接口定义 ID 为字符串,应从数据源使用带引号的字符串。此生成器使用普通 JSON 解析,超大数值可能已经被舍入。

常见问题

JSON 会上传吗?

不会。解析和类型生成都在当前浏览器标签页执行,输入不会放进页面地址。

应该选 interface 还是 type?

两者都能表达对象结构,按项目习惯选择并检查结果即可。两种选项都不会自动增加运行时验证。

参考资料

首次发布:根据当前工具界面核对步骤,补充示例和已知限制。

JSON 转 TypeScript 工具 →