Macro serde_json_lodash::set
source · [−]macro_rules! set {
() => { ... };
($a:expr $(,)*) => { ... };
($a:expr, $b:expr $(,)*) => { ... };
($a:expr, $b:expr, $c:expr $(,)*) => { ... };
}
Expand description
Based on set()
Examples:
#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
let object = json!({
"a": [{ "b": { "c": 3 } }]
});
let object = set!(object, json!("a[0].b.c"), json!(4));
assert_eq!(
object["a"][0]["b"]["c"],
json!(4)
);
let object = set!(object, json!(["x", "0", "y", "z"]), json!(5));
assert_eq!(
object["x"][0]["y"]["z"],
json!(5)
);
More examples:
assert_eq!(set!(), json!(null));
assert_eq!(set!(json!(5)), json!(5));
assert_eq!(
set!(json!({}), json!("1[1].a"), json!(5)),
json!({"1":[null,{"a":5}]})
);