Expand description
flats
is a crate that transforms nested serde Serialize
types into a one dimensional,
flat map of keys and values.
Nested structures are represented as map keys that represent structual paths to values
#[macro_use]
extern crate serde_json;
extern crate flats;
use std::collections::BTreeMap;
use flats::{flatten_value, Scalar};
fn main() {
let flat: BTreeMap<String, Scalar> = flatten_value(
json!({
"name": "John Doe",
"address": {
"city": "nyc"
},
"phones": [
"+44 1234567",
"+44 2345678"
]
})
);
let mut expected: BTreeMap<String, Scalar> = BTreeMap::new();
expected.insert("name".into(), "John Doe".into());
expected.insert("address.city".into(), "nyc".into());
expected.insert("phones[0]".into(), "+44 1234567".into());
expected.insert("phones[1]".into(), "+44 2345678".into());
assert_eq!(expected, flat);
}
Enums§
- Container for singlar, scalar values
Functions§
- Flattens nested structures into a one dimensional map
- Flattens nested
serde_json::Value
instances into a one dimensional map
Type Aliases§
- Alias for a
Result
with the error typeserde_json::Error
.