Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

跳转到主要内容
Gizke.com
博客

JSON 转 TypeScript

在你的设备上运行,不会发送任何内容。
声明方式

TypeScript

粘贴 JSON 即可看到对应的 TypeScript 类型。

粘贴 JSON,生成 TypeScript interface 或 type——嵌套对象自动命名、数组合并、推断可选字段和联合类型。

粘贴 API 响应、配置文件或任意 JSON 示例,即可得到能直接放进代码的 TypeScript 声明。每个嵌套对象都会成为独立命名的 interface;对象数组会被合并——部分元素缺少的字段变为可选,不同类型的值变为联合类型;结构相同的对象共用一个声明。可选择 interface 或 type、是否 export、readonly 以及可选字段的写法,然后复制代码或下载 .ts 文件。

常见问题

嵌套类型怎么命名?
按所在的键名转成 PascalCase:address 对象命名为 Address,users 数组的元素命名为 User。如果两种不同结构会得到同一个名字,第二个会加上数字(Item2)。
为什么某个字段是可选的或联合类型?
数组中的每个元素都会被比较。部分元素缺少的键会标为可选;一个元素里是数字、另一个里是字符串的键会变成 string | number。请提供有代表性的示例。
日期、枚举和空数组怎么处理?
JSON 没有日期类型,所以日期保持为 string,固定取值集合也是 string,需要手动收窄。空数组没有可推断的内容,会生成 unknown[]。
我的 JSON 会被上传吗?
不会。解析和生成都在浏览器中进行,示例里的私有 API 数据和令牌都留在你的设备上。

分享此工具

博客关于联系我们使用条款隐私政策