如何将 JSON 转换为 TypeScript 类型(无需手动编写)

发布日期:2026-04-28 10:02:23   浏览量 :1
发布日期:2026-04-28 10:02:23  
1

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

你刚刚获得了一个新 API 的访问权限。响应返回了——它是一个深度嵌套的 JSON 对象,包含 40 个字段,有些是可选的,有些是数组,还有些是嵌套达三层的对象。你的团队负责人说:“我们需要正确地定义这些类型。”于是你打开一个新的 .ts 文件,开始输入 interface...

那是你永远无法挽回的一小时——而且定义的类型可能仍然是错误的。

手动将 JSON 转换为 TypeScript 是那些感觉像真正在工作、但基本上只是将数据结构从一种格式复制到另一种格式的任务之一。这里有一个更好的方法。

手动编写类型的问题

根据 JSON 手动输入 TypeScript 接口有三种常见的失败模式:

  1. 遗漏可选字段 — API 经常在边缘情况下返回 null 或省略字段。如果你仅根据单个示例响应来定义类型,你很可能会将可选字段标记为必填字段。
  2. 原始类型错误 — 看起来像数字的字段("count": 42)在来自遗留后端时,偶尔可能会以字符串形式返回("count": "42")。你在运行时之前不会发现这个问题。
  3. 不可扩展 — 当 API 响应发生变化时,你必须重新阅读并手动重新输入整个内容。

真实示例:前后对比

假设你从 API 获取了以下内容:

{
  "user": {
    "id": 1024,
    "name": "Alice",
    "email": "alice@example.com",
    "roles": ["admin", "editor"],
    "profile": {
      "bio": "Acme 公司的工程师",
      "avatar_url": "https://example.com/alice.png",
      "joined_at": "2024-01-15T09:30:00Z"
    },
    "settings": {
      "notifications_enabled": true,
      "theme": "dark"
    }
  }
}

如果你是手动编写这个,你可能会

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部