use serde::{Serialize, Deserialize};
use serde_json;
#[derive(Serialize, Deserialize)]
struct User {
name: String,
age: u32,
}
fn main() {
let user = User {
name: "Alice".to_string(),
age: 30,
};
let serialized = serde_json::to_string(&user).expect("Serialization failed");
println!("Serialized JSON: {}", serialized);
}
主要属性和方法解释:
#[derive(Serialize, Deserialize)]
:这是一个Rust的派生宏,它会自动为 User
结构体实现 Serialize
和 Deserialize
特质(trait)。Serialize
特质用于将结构体序列化为各种格式(这里是JSON),Deserialize
特质用于从各种格式反序列化回结构体。
serde_json::to_string(&user)
:这是 serde_json
库提供的方法,它将实现了 Serialize
特质的 user
实例序列化为JSON格式的字符串。.expect("Serialization failed")
用于在序列化失败时打印错误信息。如果序列化成功,它返回一个 String
类型的JSON字符串。