#deserialize-json #serde-json #age #dead-simple #dog

easy_json_serde

极简单的 JSON 序列化/反序列化

6 个版本

0.2.2 2022年5月21日
0.2.1 2022年5月20日
0.1.2 2022年5月19日

#1657 in 编码

GPL-3.0-only

15KB
60

easy_json_serde

极简单的 JSON 序列化/反序列化

easy_json_serdeserde 协同工作。使用 serdeSerializeDeserialize 装饰你的 struct,将 easy_json_serdeEasyJsonSerializeEasyJsonDeserialize 暴露出来,轻松地将数据序列化/反序列化到 JSON。

use std::fs::File;

use easy_json_serde::{EasyJsonDeserialize, EasyJsonSerialize};
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
struct Dog {
    name: String,
    age: u8,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let rufus_original = Dog {
        name: "Rufus".to_string(),
        age: 10,
    };

    let file_name = "dog.json";
    File::save(file_name, &rufus_original, 4)?;

    let mut json_file = File::open(file_name)?;
    let _rufus_deserialized: Dog = Dog::load(&mut json_file)?;

    Ok(())
}

依赖项

~355–760KB
~17K SLoC