跳到主要内容
忆云竹

JSON 转 TypeScript 类型

根据 JSON 样本生成 TypeScript 类型,支持嵌套对象、数组、可选字段、联合类型与 null。

根据当前样本推导类型。对象中缺少的字段标为可选,空数组使用 unknown[]。

输入或修改选项后自动更新


    
内容只在当前浏览器中处理,不上传或保存。

工具介绍

拿到接口示例后,可先生成类型草稿,再结合真实接口约定补全未出现在样本中的情况。

使用说明

粘贴有代表性的 JSON 样本,设置类型名称,即可复制生成的 export type 或下载 .ts 文件。数组中的对象会合并推导,部分对象缺少的字段标为可选,不同类型的值组成联合类型。

空数组使用 unknown[],空对象使用 { [key: string]: unknown }。样本无法反映未出现的数据,请结合接口契约检查生成类型。重复键不接受,输入最多 2 MiB、30,000 个值与 80 层嵌套。

常见问题

生成的类型能覆盖接口所有可能的返回值吗?

不能,它只反映当前样本。数组中部分对象缺少的属性会标为可选,空数组使用 unknown[];生成结果不包含运行时数据校验。

很长的数字 ID 生成了 number 类型,直接使用安全吗?

生成器按 JSON 中的数值类型输出 number,并不改变 JavaScript 读取数字的方式。超出安全整数范围的 ID 在业务代码中仍可能丢失精度。可让接口以字符串返回 ID,或采用保留大整数的解析方案,再相应调整生成的类型。

评论

0
后参与评论。
暂无评论
回复讨论

按时间查看完整回复脉络;每条回复都会标明它回应的具体内容。