MST

星途 面试题库

面试题:Rust 中如何使用 Serde 库对字符串进行基本的序列化与反序列化

在 Rust 项目中引入 Serde 库后,假设你有一个包含字符串字段的结构体 `User { name: String }`,请编写代码实现将 `User` 实例序列化为 JSON 格式的字符串,并且能从该 JSON 格式字符串反序列化回 `User` 实例。
26.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
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);
}
  1. 首先引入 serde 库的 SerializeDeserialize 特性,以及 serde_json 库用于 JSON 序列化和反序列化。
  2. 使用 #[derive(Serialize, Deserialize)]User 结构体自动实现序列化和反序列化。
  3. main 函数中,创建一个 User 实例,然后使用 serde_json::to_string 将其序列化为 JSON 字符串。
  4. 接着使用 serde_json::from_str 将 JSON 字符串反序列化为 User 实例。