JSON 转 TypeScript Interface 工具(支持嵌套与注释解析)

前端开发里,经常会遇到这样一个场景:

接口返回一段 JSON,需要手动去写对应的 TypeScript interface。
结构简单还好,一旦嵌套多、字段多,就开始变成体力活了。

最近整理了一个 JSON 转 TypeScript 的小工具,主要就是把这一步自动化,同时补了一些实际开发中比较有用的能力,比如嵌套解析、注释保留等。


功能点

1. 嵌套 JSON 自动解析

支持递归解析 JSON。

不管是对象嵌套对象,还是数组嵌套对象,都会自动拆分成多个 interface,并建立引用关系。


2. 数组自动识别

例如:

{
  "list": [
    {
      "name": "test"
    }
  ]
}

会自动生成:

list: Item[];

不用手动再去调整类型。


3. 注释解析

如果 JSON 里带有注释:

{
  "name": "test", // 姓名
  "age": 10 // 年龄
}

生成的 interface 会保留这些信息:

export interface IGenerateObj {
    name: string; // 姓名
    age: number; // 年龄
}

对后续维护或者接口说明会更友好一些。


4. JSON 格式校验

在转换前会先校验 JSON。

如果有格式问题,会提示具体位置,避免生成错误结构。


示例

输入:

{
  "name": "test", // 姓名
  "age": 10, // 年龄
  "addr": "四川成都", // 地址
  "cls_info": [
    {
      "name": "篮球班", // 班名
      "teacher": "张老师" // 老师
    }
  ]
}

输出:

export interface IClsInfo {
    name: string; // 班名
    teacher: string; // 老师
}

export interface IGenerateObj {
    name: string; // 姓名
    age: number; // 年龄
    addr: string; // 地址
    cls_info: IClsInfo[]; // 班级
}

使用场景

  • 前后端联调,快速生成类型定义
  • 接口数据建模
  • 减少手写 interface 的重复工作

地址

https://gotool.top


一点说明

这个工具本质上就是把 JSON → TypeScript 这一步做得更顺手一点:

  • 嵌套结构自动处理
  • 数组自动识别
  • 注释尽量保留

如果你平时用 TypeScript,这一步还是能省不少时间的。

更多推荐