Rust中如何使用Serde进行序列化和反序列化
如何在Rust中使用Serde库对自定义结构体进行JSON格式的序列化和反序列化?能否提供一个完整的示例代码,包括必要的Cargo.toml依赖配置和常见错误处理方式?
2 回复
在Rust中使用Serde进行序列化和反序列化:
- 添加依赖:
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" # 或其他格式支持
- 为结构体派生特征:
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct User {
name: String,
age: u32,
}
- 序列化:
let user = User { name: "Alice".to_string(), age: 30 };
let json = serde_json::to_string(&user).unwrap();
- 反序列化:
let user: User = serde_json::from_str(&json).unwrap();
支持JSON、YAML、TOML等多种格式。


