JSON 转 TypeScript
JSON 转 TypeScript
将 JSON 示例转换为 TypeScript 接口与类型别名,自动处理对象数组字段合并、可选字段与 null 联合推断,并为空数组和空对象生成合适的类型声明。适用于 API 响应建模、前端类型初始化与数据结构整理。
快速开始
常见使用场景
把真实 API 响应快速整理成前端页面、SDK 客户端或集成测试的 TypeScript 起始模型。
在正式定义接口契约前,先用混合对象数组观察可选字段与联合类型的推断结果。
把 mock JSON 数据快速转换为测试夹具、Storybook 示例或原型阶段可用的类型定义。
当后端响应结构调整时,检查 User、Meta 等嵌套声明是否随样本一起变化。
使用建议
限制与兼容性
隐私与安全
常见问题
对象根节点会生成 interface;数组和原始值根节点会生成 type。对于顶层对象数组,根节点仍会保持类似 type Root = RootItem[]; 的 type 声明,并额外单独声明数组项结构。
当样本里没有数组项或对象属性时,生成器无法推断得更窄,所以会先把空数组保留为 unknown[],把空对象保留为扩展 Record<string, unknown> 的 interface,直到你提供更有代表性的样本。
如果你输入的名称本身已经是合法的 TypeScript 标识符,它会被原样保留,例如 APIResponse。非法名称会在生成前被规范化为稳定的 PascalCase 标识符。
当前生成器会根据属性路径规范化嵌套名称,并在命名冲突时做稳定区分。因此新输出更倾向使用 User、Meta 或 FooBarClass 之类的名称,而不是始终带上根类型名前缀。
当前输出契约故意只返回纯声明文本,不自动附带 export。这样能保持结果中性,你可以按项目风格自行添加 export。