返回
JSON 多语言类型生成
格式化
正在载入
正在加载工具
正在准备工具,暂时无法估算剩余时间。
本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。
关于这个工具
从 JSON 样本生成 TypeScript、Go、Python 和 Rust 类型,区分缺失字段、null 并检查数字精度。
常见用途
- 把 API 响应样本转换成前后端类型定义。
- 从对象数组推断共有字段、可选字段和嵌套结构。
- 检查大整数与小数的精度风险后生成目标语言类型。
使用方法
- 1.粘贴 JSON,设置根类型名并选择 TypeScript、Go、Python 或 Rust。
- 2.选择默认拒绝不安全数字,或按原始数字文本推断为字符串。
- 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。无法安全表示时默认拒绝,也可以选择按原始文本推断为字符串。