JSON 转 Rust Struct

将 JSON 数据转换为 Rust serde 结构体,基于 quicktype 引擎,自动推断 Option/Vec 类型,复制即用。

使用说明

功能介绍

本工具基于 quicktype 引擎,将 JSON 数据自动转换为 Rust serde 结构体定义,支持类型推断(String/bool/i64/f64/Vec/嵌套 struct)、Option 类型自动推断、Vec 数组类型识别,以及 Rust 关键字冲突自动转义。生成的代码可直接用于 serde 序列化/反序列化场景。

操作步骤

在左侧文本框输入或粘贴 JSON 数据,设置根类型名称(默认 Root),按需调整字段可见性(private/crate/public)与代码密度(标准/紧凑),勾选需要派生的 trait(Debug/Clone/PartialEq)或「跳过 None 字段序列化」,右侧将实时生成 Rust 代码,点击「复制结果」一键复制到剪贴板。也可点击「加载示例」快速体验。

选项说明

  • 字段可见性:控制结构体字段的可见性修饰符,可选 private(默认)、crate、public。
  • 代码密度:标准模式字段分行书写,紧凑模式将字段压缩为更密集的布局。
  • Derive Debug/Clone/PartialEq:为结构体派生对应 trait 的 derive 宏。
  • 跳过 None 字段序列化:对值为 None 的 Option 字段跳过序列化输出。

注意事项

生成的代码需在 Cargo.toml 中添加 serde 依赖:serde = { version = "1", features = ["derive"] } 以及 serde_json = "1"。数字类型根据值自动推断为 i64 或 f64;null 字段会自动推断为 Option 类型;数组会识别为 Vec。Rust 关键字字段名会自动转义处理。默认使用 2018 edition。