这个JSON到类型生成器的作用
写模型类以手写一个大API响应是缓慢的,容易出现错误的。粘贴一个 JSON 样本,这个工具推断出一个完整的类型模型,并将其打印成 Go 结构使用 json 标签,Rust 结构使用 serde 衍生,Zod 方案,Pydantic 模型,Kotlin 数据类,Java 记录,C# 类,Swift Codable 结构或 TypeScript 接口。嵌入式对象会成为自己的命名类型,对象数组会被合并,
使用方法
- 粘贴JSON到输入或加载样本。
- 设置 根类型名称,例如
User或OrderResponse。 - 选择目标语言。输出会立即再生。
- 复制代码到您的项目中并调整您的域知识超过推理的名称或类型。
推理是如何工作的
- 可选字段: 如果数组中的某些元素缺少一个键,则标记为可选 (TS 中的
?,Rust 中的Option<T>,Go 中的omitempty,Pydantic 中的= None)。 - 可取消的字段:
null值使得目标语言中的字段可以取消。 - **数:**整数和浮量分别被追踪,因此
42变成int64/i64/Long,而4.2变成浮量类型。 - **混合类型:**当同一个字段包含不同的类型时,具有联盟的语言 (TypeScript,Zod,Pydantic) 得到一个联盟,而其他类型则回归到一个通用JSON值类型。
- 命名:
user_id或created-at这样的密钥每种语言都被转换为语义字段名称,原始密钥被保存在标签或注释中 (json:"user_id",#[serde(rename)],@SerialName,CodingKeys)。
提示
- 给它一个代表性样本。一个空数组的单个对象不会告诉该工具数组的项目。
- 将多个响应合并到一个顶级数组中,以可靠地捕获可选字段。
- 结果出口的模式和推断类型,所以你得到运行时验证和静态打字一起。