功能
JSON → TypeScript 工具读取任何有效的 JSON,并推断出干净、带类型的 TypeScript 接口 — 再也不用手写类型。它处理嵌套对象(每个都获得命名的子接口)、数组(T[])、异构数组(合并为联合或真正的联合,由你选择)、原始值以及 null。相同的嵌套形状会被去重为一个共享接口,与 TypeScript 保留字冲突的键会自动加引号。全部 100% 在浏览器中运行,因此粘贴真实的敏感负载也是安全的。
使用方法
- 将 JSON 粘贴到 JSON 输入框中(或点击 示例 查看演示)。
- 可选地设置 根名称(默认为
Root,会被清理为有效的标识符)。 - 选择 数组元素的联合方式:合并(默认 — 对象合并键,不同的原始值合并为联合)或 联合(输出不同元素类型的真正联合)。
- 切换 Nullable → 可选,将类型包含
null的属性标记为可选。 - 接口在右侧实时渲染,输入滚动时保持固定。
- 复制 TypeScript、将其 下载 为
types.ts,或 复制分享链接 以重现精确视图。
示例
从嵌套对象推断接口
输入:
{ "id": 7, "name": "CosmoDev", "tags": ["json", "ts"], "meta": { "version": 2 } }
输出:
interface Root {
id: number;
name: string;
tags: string[];
meta: RootMeta;
}
interface RootMeta {
version: number;
}
异构数组合并为联合元素
输入:{ "xs": [1, "a"] } → 属性 xs: (number | string)[]。
保留字键会被加引号
输入:{ "class": "x", "default": 1 } → "class": string; "default": number;。
补充说明
- 可分享: 你的输入和选项编码在 URL 中,链接可重现精确输出。
- 隐私: 所有推断都在本地完成 — 对密钥和凭据安全。
- 相关工具: JSON 格式化器、JSON 验证器、
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
。