JSON 转 TypeScript

把 JSON 一键转换为 TypeScript interface 或 type,支持可选字段、export 关键字与嵌套结构复用,纯浏览器本地计算,数据不上传。

本地计算 · 数据不上传
广告

工具说明

工具说明

把一段 JSON 自动推导成 TypeScript 类型定义。支持对象、数组、基本类型、null 与空对象;嵌套对象会生成独立的 interface(或 type),并可用「复用类型」把相同结构合并为同一个可复用类型。

使用示例

输入:

{
  "user": { "name": "Alice", "age": 30, "tags": ["a", "b"] },
  "active": true
}

关闭「复用类型」时生成:

interface Root {
  user: User;
  active: boolean;
}
interface User {
  name: string;
  age: number;
  tags: string[];
}

开启「复用类型」后,多个相同形状的对象会共享同一个 interface。

参数说明

  • 根类型名:生成的顶层类型名称,默认 Root
  • 全部可选:为每个字段加 ?
  • 导出关键字:为类型加 export
  • 风格:interface 或 type
  • 复用类型:合并相同结构

常见问题

Q1.数组里元素类型不同会怎样?
会生成联合类型,例如 `(string | number)[]`;若所有元素类型一致则生成 `T[]`。空数组会推断为 `unknown[]`。
Q2.null 字段如何表示?
字段值若为 `null`,类型写为 `null`。如要兼容缺失,可开启「全部可选」并在使用时自行处理。
Q3.生成的代码能直接复制使用吗?
可以,输出是标准 TS 语法。嵌套对象已拆成独立类型,深层相同结构在开启复用后会被合并。
Q4.数据会被上传吗?
不会,解析与生成完全在浏览器内完成,断网也能使用。
广告

相关工具