来自真实数据的类型化模型
立即将任何 JSON 转换为 TypeScript 接口或类型,并自动推断嵌套对象、数组、联合和可选属性。
手写 TypeScript 接口来匹配 API 响应是乏味且容易出错的。粘贴 JSON 有效负载,此工具会遍历结构,生成具有正确类型字段、对象嵌套接口和数组元素类型的匹配接口(或类型别名)。混合数组成为联合类型,因此您的模型可以准确反映数据。
免费的 JSON 到 TypeScript 转换器。使用自动推断的嵌套对象、数组和联合从 JSON 生成接口或类型,复制结果,无需注册。
立即将任何 JSON 转换为 TypeScript 接口或类型,并自动推断嵌套对象、数组、联合和可选属性。
手写 TypeScript 接口来匹配 API 响应是乏味且容易出错的。粘贴 JSON 有效负载,此工具会遍历结构,生成具有正确类型字段、对象嵌套接口和数组元素类型的匹配接口(或类型别名)。混合数组成为联合类型,因此您的模型可以准确反映数据。
放入一个对象或数据数组。
选择接口或类型,命名根,将可为空标记为可选。
嵌套接口是自动生成的。
将 TypeScript 复制到您的项目中。
选择是否发出接口或类型别名、命名根类型,以及将可为空的字段标记为可选。生成的代码会实时更新并准备好粘贴到您的项目中。这一切都在您的浏览器中运行,因此私有 API 有效负载和内部架构永远不会离开您的计算机。
转换器读取您的 JSON 并将每个值映射到 TypeScript 类型:字符串、数字和布尔值变成字符串、数字和布尔值,嵌套对象变成它们自己的命名接口,数组变成类型化数组。当数组包含不同类型的值时,结果是一个并集,例如 (string | number)[]。 null 值会变为 null,因为示例无法显示设置后该字段包含的内容。不是有效标识符的属性名称(例如“first-name”)会被引用,以便输出始终可以编译。
推断类型的好坏取决于样本的好坏。如果某些 API 响应中缺少某个字段,请使用 ? 将其标记为可选。生成后,如果某个字段在生产中可以为空,则将其扩展为 string |无效的。使用您能找到的最完整的回复,最好是包含所有可选字段的回复。对于您无法控制的 API,请将生成的类型与运行时验证配对,例如 Zod 或 io-ts,因为 TypeScript 类型会在运行时消失并且不会捕获更改的 API。日期以字符串形式传入 JSON,因此如果您需要 Date 对象,请自行转换它们。
粘贴您的 JSON,该工具会立即生成匹配的接口,为对象创建嵌套接口并推断数组元素类型。将其直接复制到您的代码中。
是的。嵌套对象成为它们自己的命名接口,数组由它们的元素类型化。混合类型的数组会产生一个联合,如 (string | number)[]。
是:切换选项以发出“类型”别名而不是“接口”声明,并重命名根类型以适合您的项目。
不会。解析和生成完全在您的浏览器中进行,因此敏感负载永远不会离开您的设备。
粘贴 JSON(例如 API 响应),为根命名,该工具会推断类型并生成现成的接口,包括嵌套对象和数组。它在本地运行,因此真正的有效负载保持私密。
是的。嵌套结构成为它们自己的命名接口,数组获取元素类型,并且您可以将字段标记为可选,以便类型与真实的、有时会丢失的数据相匹配。
是的。根据您的代码库的风格选择接口或类型输出;两者都根据推断的 JSON 形状生成准确的 TypeScript。
Tool GuidesPhotos carry hidden data like GPS location and camera details. Here's why that matters for privacy and how to strip it before sharing.
Tool GuidesCPS means clicks per second. Here's how it's measured, what a good score looks like, and how to test your own click speed for free.
Tool GuidesCombine several PDFs into one document, reorder the pages, and keep everything private — no software and no server upload.