Cargo.toml
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
main.rs
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct Person {
name: String,
age: i32,
}
fn main() {
// 创建一个Person实例
let person = Person {
name: "Alice".to_string(),
age: 30,
};
// 序列化为JSON字符串
let serialized = serde_json::to_string(&person).expect("Serialization failed");
println!("Serialized: {}", serialized);
// 从JSON字符串反序列化
let deserialized: Person = serde_json::from_str(&serialized).expect("Deserialization failed");
println!("Deserialized: name={}, age={}", deserialized.name, deserialized.age);
}