DevKit源码

JSON 转 TypeScript 类型

从 JSON 推断生成 TypeScript interface / type 定义。

⌘⏎ 生成类型 · ⌘⇧C 复制
目标
根类型名
可选属性
只读
日期字段
空数组策略
空对象策略
数组联合类型
未执行null → unknown空对象 → Record<string, unknown>大整数保持 number
JSON 输入
字符 0字节 0行 0
TypeScript 结果
字符 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 个工具一样,全部计算都在你的浏览器里完成:输入、密钥与文件不会发送到服务器,页面首次加载后可离线使用。