This crate is a wrapper around serde
and serde_json
crates.
It does not aim to replace those two awesome crates, the goal is to provide another more user friendly way to deal with JSON objects in Rust.
In your Cargo.toml
add the following line:
toml
[dependencies]
"json-ez" = "0.1.0"
```rust use json_ez::Json;
fn main() -> Result<(), Box
// Fill the new created object
j_object.add("key1", quote);
j_object.add("key2", 42);
j_object.add("key3", true);
// Get your typed values
let string : String = j_object.get("key1")?;
let some_uint : u32 = j_object.get("key2")?;
let some_boolean : bool = j_object.get("key3")?;
// Works also with explicit casts
let same_string = j_object.get::<String>("key1")?;
assert_eq!(quote, &string);
assert_eq!(quote, &same_string);
assert_eq!(true, some_boolean);
assert_eq!(42, some_uint);
Ok(())
} ```
```rust use json_ez::{inline, Json};
fn main() -> Result<(), Box
let title : String = inline_json.get("title")?;
let number_of_novels = inline_json.get::<Vec<Json>>("novels")?.len();
let movie_release_date: u16 =
inline_json.get::<Json>("movie")?.get("release_date")?;
assert_eq!("The Hitchhiker's Guide to the Galaxy", &title);
assert_eq!(6, number_of_novels);
assert_eq!(2005, movie_release_date);
Ok(())
} ```