语言
简体中文

JSON 转 TypeScript

从 JSON 推断 TypeScript 类型定义

自动检测
JSON 输入
在此粘贴 JSON 对象或数组...
TypeScript 输出
转换结果将显示在这里...

togotools.top 技术参考

技术参考

从 JSON 示例推断 TypeScript interface 或 type,生成嵌套对象、数组、联合类型和可选字段。输入只在当前浏览器解析,适合把 API 响应快速整理成类型草稿。

类型推断规则

  • 字符串、数字、布尔值和 null 会映射到对应 TypeScript 基础类型。
  • 对象会生成独立的 interface 或 type,数组会分析元素结构。
  • 多个样本合并时,缺失字段可以标记为可选字段。
  • 根对象名称、导出方式、readonly 和分号风格可以单独设置。

示例:API 响应到 interface

json -> typescript
{"id":1,"name":"Ada","tags":["admin"]}

export interface Root {
  id: number;
  name: string;
  tags: string[];
}

使用边界

JSON 只能代表运行时样本,不能完整表达业务约束、日期、货币、ID 格式或服务端的动态联合类型。生成结果应作为类型草稿,并根据 API 契约补充更严格的命名和校验。

  • 空数组无法从样本确定元素类型,通常需要手动指定。
  • 同一字段在不同对象中类型不一致时,会生成联合类型或需要人工整理。
  • 生成 TypeScript 类型不会验证后续 API 响应,运行时校验仍需使用 schema 工具。

常见问题

这个工具能从 JSON 生成运行时校验器吗?

不能。它生成 TypeScript 编译期类型;如果需要运行时校验,还要根据接口契约使用 Zod、Ajv 等 schema 工具。

为什么数组类型不够准确?

类型推断只能观察当前样本。空数组或样本不足时没有足够信息判断元素结构,需要补充样本或手动调整。