JSON 转 TypeScript:即时生成接口

从任意示例对象或数组将 JSON 转为 TypeScript 接口。推断字段类型、嵌套对象并复制整洁的类型。在你的浏览器本地运行。

你的 JSON 完全在你的浏览器中解析与转换,因此它留在你的设备上,不会上传到任何服务器。

由 Udit Agarwal 开发和维护

需要 Go、Rust 或 Python 类型?试试 JSON 转代码。

关于 JSON 转 TypeScript

这款 JSON 转 TypeScript 转换器能在几秒内将示例 JSON 对象或数组转为可直接使用的 TypeScript 接口。粘贴真实的 API 响应,它会推断字段类型、将子对象嵌套为各自命名的接口、把对象数组合并为单一结构,并将部分元素中缺失的键用问号标记为可选。它专为前端和后端开发者、QA 工程师,以及任何在搭建类型化客户端时宁愿从 JSON 生成 TypeScript 类型而非手写它们的人而打造。在探索陌生接口时,可将它用作快速的 TypeScript 接口生成器,或用它让你的模型与示例数据保持同步。一切都在你的浏览器本地运行,因此你粘贴的 JSON 在你的设备上处理,不会上传到任何服务器。

功能特性

  • 从任意 JSON 对象或数组生成命名的 TypeScript 接口
  • 将嵌套对象转为各自导出的接口,并采用 PascalCase 命名
  • 将对象数组合并为涵盖每个键的单一接口
  • 将部分元素中缺失的键用问号标记为可选
  • 从你的示例值推断基本类型、数组类型、联合类型和 null 类型
  • 允许你重命名根接口以匹配你的模型
  • 校验 JSON 并精确定位语法错误的行号与列号
  • 复制结果或将其下载为 .ts 文件

如何使用 JSON 转 TypeScript

  1. 将你的 JSON 对象或数组粘贴到输入框中。
  2. 将「根接口名」设为匹配你的模型,或保留为 Root。
  3. 在输出面板中查看生成的 TypeScript 接口。
  4. 复制结果或将其下载为 .ts 文件。

示例

输入

{ "id": 1, "name": "Ada", "tags": ["a", "b"] }

输出

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

一个扁平的 JSON 对象会变成单个带类型的接口。

常见错误与故障排除

  • 输出显示一个带行号和列号的 Invalid 错误。 — 该 JSON 存在语法问题,例如末尾逗号、单引号或未加引号的键。在报告的行号与列号处修复它,接口便会重新生成。
  • 某个你预期存在的字段被用问号标记为可选。 — 该键在你的数组示例中至少有一个元素里缺失。如果它应始终为必填,请在每个元素中都包含它。
  • 某个属性的类型显示为 unknown。 — 该键的每个示例值都是 null 或 undefined,因此无法推断出具体类型。请为该字段提供一个含真实值的示例。
  • 粘贴像数字或字符串这样的裸值只会生成一个类型别名。 — 这是预期行为。如果你想要命名接口而非单个 export type 类型别名,请将该值包裹在对象或数组中。

常见问题

JSON 转 TypeScript 转换器是什么?
它是一款工具,会读取示例 JSON 对象或数组并生成匹配的 TypeScript 接口,推断每个字段的类型,让你能将结果直接放入代码库中。
如何将 JSON 转换为 TypeScript 接口?
将你的 JSON 粘贴到输入框中,可选地设置「根接口名」,然后从输出面板复制或下载生成的接口。
JSON 转 TypeScript 如何处理对象数组?
它会将每个元素的键合并为一个接口。任何在部分元素中缺失的键都会用问号标记为可选,以使该类型涵盖整个数组。
嵌套对象是如何被转换为 TypeScript 的?
每个嵌套对象会成为各自导出的接口,并采用 PascalCase 命名,父级通过类型引用它,而非内联其结构。
对于 null 或混合类型的值会怎样处理?
null 值会生成与 null 的联合类型,而持有多种基本类型的字段会成为联合类型,例如 string | number。
将 JSON 转换为 TypeScript 时,我的 JSON 会被发送到任何地方吗?
不会。JSON 转 TypeScript 的转换完全在你的浏览器中运行,因此你粘贴的数据在本地处理,绝不离开你的设备。

相关工具

更多JSON工具

  • JSON 转 CSV — 将扁平 JSON 对象数组转换为 CSV。
  • JSON 转义 / 反转义 — 将文本转义为 JSON 字符串,或将 JSON 字符串反转义为纯文本。
  • JSON 转代码 — 从 JSON 生成 Go、Rust、Python、Java、Kotlin、C# 和 TypeScript 类型。
  • JSON Diff — 对比两个 JSON 文档,查看与键顺序无关的结构化差异。
  • JSON Schema 生成器 — 从样本生成 JSON Schema,或根据 schema 校验文档。
  • JSON 扁平化 / 还原 — 将嵌套的 JSON 扁平化为点记法键,或将扁平路径还原回去。
  • JSON 转 Zod — 从 JSON 示例生成 Zod 模式,可推断类型与嵌套对象。
  • JSON 转 Pydantic — 从 JSON 示例生成 Pydantic v2 模型类,带类型推断。
  • JSONPath 求值器 — 针对你的 JSON 测试 JSONPath 表达式,实时查看匹配结果。
  • JSON 转 TOON — 将 JSON 转为 TOON 再转回来,用更少的 token 装下相同数据。
  • jq 演练场 — 在浏览器中针对 JSON 运行真正的 jq 引擎,即时看到结果。
  • TypeScript 转模拟 JSON — 从 TypeScript 接口生成符合其形状的逼真模拟 JSON。

查看全部JSON工具 (29) · 全部工具