跳转到主内容
coltool

JSON 转 TypeScript 在线工具

在线将 JSON 保守地转换为 TypeScript interface 或 type,安全处理可选字段、联合类型和不确定结构。

输入 JSON
TypeScript 类型
JSON 仅在当前浏览器中处理,不会上传到服务器。⌘/Ctrl + Enter 可快速生成。

保守地从 JSON 推断 TypeScript 类型

工具会严格校验 JSON,递归生成 interfacetype,并合并对象数组中的多条样本。 缺失字段会标记为可选,同一字段出现不同类型时会生成联合类型,非法属性名会安全地加上引号。

推断遵循“不确定就不猜”的原则:日期保持 string,空数组、空对象和只有null 的字段使用 unknown 并显示警告。检测到重复键、无效 JSON 或超限结构时, 工具会直接停止,不会向你提供可能有歧义的类型结果。

使用方法

  1. 粘贴 JSON,数组中可放入多条真实对象样本;
  2. 设置根类型名称,并选择 interfacetype
  3. 生成后检查顶部的保守推断警告,按业务补充 unknown 类型;
  4. 复制结果,或下载为 TypeScript 文件。

FAQ

为什么空数组会生成 unknown[]?
空数组没有任何元素样本,无法判断它应该是 string[]、对象数组还是其他类型。unknown[] 明确表达“不知道”,比随意猜测一个具体类型更安全。
工具会把日期字符串转换成 Date 吗?
不会。JSON 中的日期本质上仍是字符串,只凭格式无法确认业务语义。工具默认生成 string,避免把普通字符串误判成 Date。
对象数组中的可选字段如何判断?
工具会合并数组中的全部对象样本。某个字段没有出现在每条样本中时,会生成可选属性;同一字段出现多种类型时,会生成明确的联合类型。
JSON 会上传到服务器吗?
不会。JSON 校验、结构推断和 TypeScript 代码生成全部在浏览器本地完成,输入数据不会离开你的设备。