6 releases
0.2.2 | May 21, 2022 |
---|---|
0.2.1 | May 20, 2022 |
0.1.2 | May 19, 2022 |
#2036 in Encoding
15KB
60 lines
easy_json_serde
Dead-simple JSON serialization / deserialization
easy_json_serde
works in
conjunction with serde
. Decorate your
struct
s 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(())
}
Dependencies
~0.5–1MB
~20K SLoC