UTILS.
默认保护隐私
TS

JSON 转 TypeScript

根据 JSON 示例生成 TypeScript 接口,递归推断类型。

文件始终留在此设备上

文件在浏览器中处理,绝不上传。网站会下载运行工具所需的代码和资源。无需账号,也无追踪。

使用“下载”将此工具保存为单个 HTML 文件,以便离线使用。

隐私 →
输出

试试完整示例

示例

粘贴 [{"id":1},{"id":2,"note":"late"}]。结果是 type Root = RootItem[]; 以及接口 RootItem,其中包含 id: number 和 note?: string,因为第一个元素中没有 note。

注意事项

类型只来自你粘贴的样本。这里是字符串的字段在其他响应中可能为 null,数字也不会区分整数和小数,因此请对照 API 文档检查结果。

关于此工具

粘贴一段 JSON 样本(例如 API 响应),即可得到对应的 TypeScript 接口,全部在浏览器中生成。数组中的每个元素都会被检查:部分元素缺少的字段变为可选,不同类型的值变为联合类型。

常见问题

嵌套对象如何处理?
每个嵌套对象都会生成独立的接口,以其键名的 PascalCase 形式命名。数组中的对象会加上 Item 后缀,例如 TagsItem。
数组的类型如何确定?
每个元素都会被检查。对象合并为一个接口,部分对象缺少的字段用 ? 标为可选,混合的值变为联合类型,例如 (string | number)[]。空数组变为 unknown[]。

更多工具