Function permissive_json_pointer::select_values
source · [−]pub fn select_values<'a>(
value: &Map<String, Value>,
selectors: impl IntoIterator<Item = &'a str>
) -> Map<String, Value>
Expand description
Permissively selects values in a json with a list of selectors. Returns a new json containing all the selected fields.
use serde_json::*;
use permissive_json_pointer::select_values;
let value: Value = json!({
"name": "peanut",
"age": 8,
"race": {
"name": "bernese mountain",
"avg_age": 12,
"size": "80cm",
},
});
let value: &Map<String, Value> = value.as_object().unwrap();
let res: Value = select_values(value, vec!["name", "race.name"]).into();
assert_eq!(
res,
json!({
"name": "peanut",
"race": {
"name": "bernese mountain",
},
})
);