JSON 转 Rust

在线将 JSON 转换为 Rust 结构体。Serde 就绪的 #[derive(Serialize, Deserialize)]、可空字段 Option<T>、自动 camelCase 重命名。

生成的代码将显示在这里…

所有转换均在浏览器本地完成,您的 JSON 不会被上传或存储。

什么是 JSON 转 Rust 工具?

JSON 转 Rust 工具可以把 JSON 样例直接转换为带 serde 注解的 Rust 结构体。粘贴 API 返回数据,即可得到能直接放入 Rust 项目的类型,配合 serde_json 使用。全程在浏览器中完成。

如何从 JSON 生成 Rust 结构体

粘贴 JSON,结构体会实时生成,点击复制即可加入项目。代码中已包含所需的 serde 与 serde_json derive,直接可用。

类型映射

整数映射为 i64,小数映射为 f64,数组映射为 Vec<T>,键名不是合法标识符的对象映射为 HashMap<String, T>。未知或混合形态的值会变成 serde_json::Value,运行时不会出错。

命名与 serde 属性

字段按 Rust 风格命名为 snake_case。当所有键本身就是 camelCase 时,会生成单个 #[serde(rename_all = "camelCase")];否则对个别字段使用 #[serde(rename)]。可选和 null 字段使用 Option<T>。

常见问题

如何将 JSON 转换为 Rust 结构体?+
把 JSON 对象或数组粘贴到输入框,Serde 就绪的结构体会即时生成:每个嵌套对象都会成为独立的 pub struct,一键即可复制全部代码。
JSON 类型如何映射到 Rust?+
字符串映射为 String,整数 i64,小数 f64,布尔 bool,数组 Vec<T>,字符串键对象 HashMap<String, T>,未知或混合形态回退为 serde_json::Value。嵌套对象成为独立结构体,名称由键名派生。
#[serde(rename_all = "camelCase")] 有什么作用?+
它让 serde 接受并输出 camelCase 键,同时结构体字段按 Rust 惯例保持 snake_case。当只有部分字段需要重命名时,会改用单字段 #[serde(rename = "...")];缺失或 null 的值会变成 Option<T>。
我的 JSON 会被上传到服务器吗?+
不会。所有转换都在浏览器本地完成,不会发送、存储或记录任何数据。

相关工具

JSON 转 Rust — 免费的在线json 转 rust, json 转 rust 结构体, rust serde 结构体生成, json to serde, json 生成 rust, rust struct 生成器, json 转 rust 在线, serde json 结构体, rust json 模型, json 反序列化 rust。无需注册。在浏览器中直接使用。