easy_json_serde
Dead-simple JSON serialization / deserialization
easy_json_serde works in
conjunction with serde. Decorate your
structs with serde's Serialize and Deserialize, bring
easy_json_serde's EasyJsonSerialize and EasyJsonDeserialize into view,
and easily serialize / deserialize to and from 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(())
}