microserde

Crates.iomicroserde
lib.rsmicroserde
version0.1.13
sourcesrc
created_at2021-01-05 12:56:53.960618
updated_at2021-01-05 12:56:53.960618
descriptionZero-dependency implementation of Serde
homepage
repositoryhttps://github.com/cloudhead/microserde
max_upload_size
id332090
size99,359
Alexis Sellier (cloudhead)

documentation

https://docs.rs/microserde

README

Microserde

Microserde is miniserde minus the dependencies.

All credit goes to David Tolnay for the original library.

From miniserde:

Prototype of a data structure serialization library with several opposite design goals from Serde.

Differences compared to miniserde:

  • ryu crate is replaced with stdlib functionality
  • itoa crate is replaced with stdlib functionality
  • serde crate is removed from dev-dependencies
[dependencies]
microserde = "0.1"

Example

use microserde::{json, Serialize, Deserialize};

#[derive(Serialize, Deserialize, Debug)]
struct Example {
    code: u32,
    message: String,
}

fn main() -> microserde::Result<()> {
    let example = Example {
        code: 200,
        message: "reminiscent of Serde".to_owned(),
    };

    let j = json::to_string(&example);
    println!("{}", j);

    let out: Example = json::from_str(&j)?;
    println!("{:?}", out);

    Ok(())
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 96

cargo fmt