返回

JSON 多语言类型生成

格式化

正在载入

正在加载工具

正在准备工具,暂时无法估算剩余时间。

本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。

关于这个工具

从 JSON 样本生成 TypeScript、Go、Python 和 Rust 类型,区分缺失字段、null 并检查数字精度。

常见用途

  • 把 API 响应样本转换成前后端类型定义。
  • 从对象数组推断共有字段、可选字段和嵌套结构。
  • 检查大整数与小数的精度风险后生成目标语言类型。

使用方法

  1. 1.粘贴 JSON,设置根类型名并选择 TypeScript、Go、Python 或 Rust。
  2. 2.选择默认拒绝不安全数字,或按原始数字文本推断为字符串。
  3. 3.生成并检查类型及依赖说明,再复制到项目。

限制与说明

  • 根据样本推断,不能代替完整 schema 或运行时校验;空数组的元素类型未知。
  • 最多 500,000 字符、25,000 个值、40 层嵌套,根类型名最多 80 字符。
  • 超出 JavaScript 安全精度的数字默认拒绝;字符串策略保留原始数字文本。小数、指数和负零的数值类型会保守拓宽。
  • Go 的可选、可空和联合字段使用 json.RawMessage 保留缺失与 null;不支持的 struct 标签键会明确报错。
  • Python 需要 3.11+;Rust 需要 serde(derive)和 serde_json,并使用自定义反序列化器区分缺失和 null。

常见问题

缺失字段与 null 会混在一起吗?

样本中缺失字段会标记为可选,显式 null 独立推断。Go 用 RawMessage、Rust 用自定义 Serde 字段反序列化器保留这种区别。

大整数会在生成前被舍入吗?

工具先检查原始数字 token。无法安全表示时默认拒绝,也可以选择按原始文本推断为字符串。

相关工具