Skip to content

JSON 转 TypeScript 转换器

粘贴 JSON 即时获得 TypeScript 接口,100% 在浏览器中运行,数据永不离开页面。支持 interface 或 type、嵌套对象、数组、可选字段。免费,无需注册。

无追踪 浏览器中运行 免费
选项
输出
可选字段
0 字符
TypeScript 输出
0 行
已对照真实 API 负载和 TypeScript 编译器输出进行验证。 — Go Tools 工程团队 · 2026年6月1日

由每天与带类型 API 打交道的开发者构建并审核。

什么是 JSON 转 TypeScript?

JSON 转 TypeScript 会读取一个 JSON 值,并生成匹配的 TypeScript interface 或 type 定义 — 省去为 API 响应和配置文件手写样板代码的工作。粘贴一段负载,几秒内即可获得可用于生产的类型,对嵌套对象、数组和可选字段都完整标注类型。

示例

API 响应

{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]}

将典型的 REST API 用户负载转换为带类型的 interface,可直接放入你的客户端代码。

嵌套对象

{"order":{"id":"A-1","total":42.5,"customer":{"name":"Sam","vip":false}}}

嵌套对象会成为独立命名的 interface(Order、Customer),并按字段引用。

对象数组(可选字段)

{"users":[{"id":1,"nick":"x"},{"id":2}]}

部分数组元素缺失的键会被推断为可选(nick?: string)。

混合类型与 null 值

{"tags":["a","b"],"score":null,"meta":[1,"two"]}

null 值和混合数组会被如实标注类型(null、(string | number)[])。

GitHub 风格负载

{"login":"octocat","id":1,"public_repos":2,"plan":{"name":"pro","private_repos":50}}

snake_case 键名原样保留;嵌套的 plan 会成为独立的 interface。

如何将 JSON 转换为 TypeScript

  1. 1

    粘贴你的 JSON

    将 JSON 对象、数组或 API 响应放入输入框,转换即刻开始。

  2. 2

    调整输出

    选择 interface 或 type、设置根类型名称、切换 export,并为可选字段选择 ?: 或 | null。

  3. 3

    复制或下载

    一键获取生成的 TypeScript,直接粘贴到你的代码库中。

转换原理

结构推断
每个对象都会成为一个命名 interface;结构相同的对象会被去重,因此你得到的是一个类型而非多份副本。
数组合并
对象数组会逐键合并;部分元素缺失的键会被标记为可选。
100% 浏览器端
解析和生成都在浏览器中运行,没有任何网络请求,因此你的数据保持私密。

编写整洁 TypeScript 类型的技巧

为根类型命名
设置一个有意义的根名称(如 User、ApiResponse),而非默认的 Root,让代码更易读。
数据稀疏时优先用可选而非 null
对可能缺失的字段使用 ?:,仅当 API 明确返回 null 时才使用 | null。

常见问题

如何将 JSON 转换为 TypeScript interface?
将 JSON 粘贴到输入框中,转换器会在浏览器中即时读取并在右侧生成 TypeScript interface。点击「复制」即可获取结果 — 无需上传,无需账户。
JSON 数据应该用 type 还是 interface?
两者都可以。interface 是描述对象结构的惯用写法,编辑器错误提示也略好;type 则便于处理联合类型和交叉类型。用「输出」开关在两者之间切换,保留你代码库偏好的那种。
嵌套对象和数组是如何处理的?
嵌套对象会成为独立命名的 interface(例如 address 字段会生成一个 Address interface)。对象数组会合并为一个元素 interface;基本类型数组会变成 string[] 这样的类型化数组。
可选字段和 null 字段是如何处理的?
当某个键只出现在部分数组元素中时,它会被标记为可选。用「可选字段」开关选择 ?:(可选)或 | null(显式可空)。字面 null 值会被标注为 null 类型。
如何在 VSCode 中自动从 JSON 生成 TypeScript 类型?
你可以安装扩展,但其实没必要。本工具完全在浏览器中运行 — 粘贴、复制、搞定 — 无需安装、配置或维护任何插件。
我的 JSON 数据是否私密安全?
是的。转换 100% 在浏览器中通过 JavaScript 完成。你的 JSON — 包括任何 token、ID 或客户数据 — 永不离开页面,也永不发送到服务器。
本工具免费吗?需要账户吗?
完全免费,无需注册,无使用限制,也没有广告干扰工作区。
它能识别日期或枚举吗?
日期字符串会保留为 string(比猜测更安全)。字符串值会被标注为 string 而非字面量联合类型,因此当数据变化时输出仍保持稳定。

ASCII 码表与在线转换器

编码和格式化

完整 ASCII 码表:128 个字符的十进制、十六进制、八进制、二进制对照,支持字符转 ASCII 码、ASCII 码转字符双向转换。控制字符附各语言转义写法与终端 ^M 记法,并说明你会在哪儿真的遇到它。浏览器本地运行,不上传。

条形码生成器 — 免费在线生成条码

编码和格式化

在线免费生成 EAN-13、UPC-A、Code 128、Code 39 等 15 种条形码,导出无损 SVG 或高清 PNG。输入 12 位自动补校验位;末位写错会直接告诉你应该是几,并一键改好。支持批量生成打包下载。

Base64 解码与编码工具

编码和格式化

免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。

Base64 转图片转换工具

编码和格式化

在浏览器中把 Base64 字符串或 data URI 解码还原为图片。预览、读取尺寸与 MIME,再下载为 PNG、JPG、GIF、SVG。无需上传。

Base64 转 PDF / 文件 · PDF 转 Base64

编码和格式化

Base64转PDF在线解码:纯 Base64、带 data:application/pdf 前缀的字符串、含 \/ 转义的 JSON 值甚至整段接口响应都能直接粘贴,按文件头识别真实类型,内嵌预览、一键下载;PDF 被截断、其实是图片或 16 进制时明确提示。也支持 PDF/文件转 Base64,本地处理不上传。

CSV 转 JSON 转换器

编码和格式化

在浏览器中将 CSV 转换为 JSON。支持 RFC 4180、类型推断、表头行、大整数安全。100% 隐私,无需上传。