togotools.top 技术参考
技术参考
从 JSON 示例推断 TypeScript interface 或 type,生成嵌套对象、数组、联合类型和可选字段。输入只在当前浏览器解析,适合把 API 响应快速整理成类型草稿。
类型推断规则
- 字符串、数字、布尔值和 null 会映射到对应 TypeScript 基础类型。
- 对象会生成独立的 interface 或 type,数组会分析元素结构。
- 多个样本合并时,缺失字段可以标记为可选字段。
- 根对象名称、导出方式、readonly 和分号风格可以单独设置。
示例:API 响应到 interface
{"id":1,"name":"Ada","tags":["admin"]}
export interface Root {
id: number;
name: string;
tags: string[];
}使用边界
JSON 只能代表运行时样本,不能完整表达业务约束、日期、货币、ID 格式或服务端的动态联合类型。生成结果应作为类型草稿,并根据 API 契约补充更严格的命名和校验。
- 空数组无法从样本确定元素类型,通常需要手动指定。
- 同一字段在不同对象中类型不一致时,会生成联合类型或需要人工整理。
- 生成 TypeScript 类型不会验证后续 API 响应,运行时校验仍需使用 schema 工具。
常见问题
这个工具能从 JSON 生成运行时校验器吗?
不能。它生成 TypeScript 编译期类型;如果需要运行时校验,还要根据接口契约使用 Zod、Ajv 等 schema 工具。
为什么数组类型不够准确?
类型推断只能观察当前样本。空数组或样本不足时没有足够信息判断元素结构,需要补充样本或手动调整。