JSON 转 TS
将 JSON 智能推断为 TypeScript interface,自动合并数组字段并标注可选类型
输入 JSON 数据后将自动生成 TypeScript 类型
常见问题
可选字段(带 ?)是怎么来的?
当数组里的对象只有部分包含某字段时,工具会把它标记为可选。例如数组中一个对象有
name、另一个没有,合并后输出 name?: string,表示「该字段可能不存在」,让类型更宽松以兼容字段缺失的真实数据。为什么生成的类型里有 null?
JSON 的
null 在 TypeScript 中对应 null 类型(与 undefined 不同)。若某字段在数组中有时是值、有时是 null,工具会合并为 类型 | null(如 string | null),比一律当成 string 更贴近真实数据。为什么有些字段名带引号?
TypeScript 要求对象字段名是合法标识符(字母 / 下划线 /
$ 开头,不含空格和 -)。当 JSON 的键不满足时(如 "a-b"、"with space"、"123"),必须加引号写成字符串字面量键才能通过类型检查,工具会自动处理。