Crates.io | easy_json_serde |
lib.rs | easy_json_serde |
version | 0.2.2 |
source | src |
created_at | 2022-05-19 07:01:44.723521 |
updated_at | 2022-05-21 21:17:42.749505 |
description | Dead-simple JSON serialization / deserialization |
homepage | |
repository | https://github.com/JosephTLyons/easy_json_serde |
max_upload_size | |
id | 589549 |
size | 40,157 |
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(())
}