Skip to content

JosephTLyons/easy_json_serde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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(())
}

About

Dead-simple JSON serialization / deserialization

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages