rust struct to json string

在 Rust 中,如果想要将一个结构体转换为 JSON 字符串,你可以使用 serde 库。

首先,你需要在 Cargo.toml 文件中添加 serde serde_json 作为依赖:

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

然后,在你的 Rust 代码中添加如下内容:

extern crate serde;
extern crate serde_json;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Point {
    x: i32,
    y: i32,
fn main() {
    let point = Point { x: 1, y: 2 };
    let serialized = serde_json::to_string(&point).unwrap();
    println!("serialized = {}", serialized);

上面的代码会将 Point 结构体转换为如下的 JSON 字符串:

{"x":1,"y":2}

如果你想要将 JSON 字符串反序列化为结构体,你可以使用 serde_json::from_str 函数:

extern crate serde;
extern crate serde_json;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Point {
    x: i32,
    y: i32,
fn main() {
    let json_str = r#"{"x":1,"y":2}"#;
    let point: Point = serde_json::from_str(json_str).unwrap();
    println!("point = ({}, {})", point.x, point.y);

上面的代码会将 JSON 字符串反序列化为 Point 结构体,并打印出 (1, 2)

  •