JSON 转 TypeScript 类型
从 JSON 推断生成 TypeScript interface / type 定义。
目标
根类型名
可选属性
只读
日期字段
空数组策略
空对象策略
数组联合类型
字符 0字节 0行 0
字符 0字节 0行 0
推断规则
- 嵌套对象抽为独立命名的
interface(如address: Address),数组内同构对象按结构去重命名。 - 字段值本身为
null且无其它类型证据时输出unknown;空对象默认输出Record<string, unknown>,可切换为{}。 - 空数组默认输出
unknown[],可切换any[],或用「调整字段类型」按字段路径手动指定。 - 混合数组按元素首次出现顺序合并为联合类型,如
(boolean | number | null)[];也可改为「取首项类型」。 - 可选属性「保持原样」时,数组内多个对象里缺失的键才标为可选(由实例证据决定);「全部可选 / 全部必填」则统一覆盖。
- 日期样字符串默认保持
string,可切换为Date;大整数在类型推断里同样是number。
失败处理
JSON 语法错误或根类型名非法时保留输入,并给出具体位置与修正方向。
什么时候用「JSON 转 TypeScript 类型」
写前端时拿到接口 JSON,不想手写一堆 interface 字段。
使用要点
- 从 JSON 推断生成 TypeScript interface / type 定义。
- 嵌套对象与数组会一并生成,可选是否带 export。
- 推断基于样本数据,字段可能缺省时仍建议人工补上可选标记。
相关工具
JSON 转 TypeScript 类型与其他 44 个工具一样,全部计算都在你的浏览器里完成:输入、密钥与文件不会发送到服务器,页面首次加载后可离线使用。