Macro serde_json_lodash::get
source · [−]macro_rules! get {
() => { ... };
($a:expr $(,)*) => { ... };
($a:expr, $b:expr $(,)*) => { ... };
($a:expr, $b:expr, $c:expr $(,)*) => { ... };
}
Expand description
Based on get()
Examples:
#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
let object = json!({
"a": [{ "b": { "c": 3 } }]
});
assert_eq!(
get!(object.clone(), json!("a[0].b.c")),
json!(3)
);
assert_eq!(
get!(object.clone(), json!(["a", "0", "b", "c"])),
json!(3)
);
assert_eq!(
get!(object.clone(), json!("a.b.c"), json!("default")),
json!("default")
);
More examples:
assert_eq!(
get!(json!("中文"), json!("1")),
json!("文")
);
assert_eq!(
get!(json!([1,"abcd"]), json!("1[2]")),
json!("c")
);