面试题答案
一键面试use serde::{Serialize};
use serde_json;
#[derive(Serialize)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let point = Point { x: 10, y: 20 };
let serialized = serde_json::to_string(&point).expect("Serialization failed");
println!("{}", serialized);
}
- 引入库:使用
serde
库的Serialize
trait 来标记结构体,使其可序列化,同时引入serde_json
库来处理JSON序列化。 - 结构体定义:使用
#[derive(Serialize)]
宏为Point
结构体自动实现Serialize
trait。 - 序列化操作:在
main
函数中,创建Point
结构体实例,然后使用serde_json::to_string
方法将其序列化为JSON格式的字符串,并打印输出。如果序列化失败,程序将调用expect
方法导致panic并输出错误信息。