use serde::{Deserialize, Serialize};
use serde_json;
#[derive(Serialize, Deserialize)]
struct User {
name: String,
}
fn main() {
let user = User { name: "Alice".to_string() };
// 序列化
let serialized = serde_json::to_string(&user).expect("Serialization failed");
println!("Serialized: {}", serialized);
// 反序列化
let deserialized: User = serde_json::from_str(&serialized).expect("Deserialization failed");
println!("Deserialized: {}", deserialized.name);
}
- 首先引入
serde
库的 Serialize
和 Deserialize
特性,以及 serde_json
库用于 JSON 序列化和反序列化。
- 使用
#[derive(Serialize, Deserialize)]
为 User
结构体自动实现序列化和反序列化。
- 在
main
函数中,创建一个 User
实例,然后使用 serde_json::to_string
将其序列化为 JSON 字符串。
- 接着使用
serde_json::from_str
将 JSON 字符串反序列化为 User
实例。