flatten/flattener.rs
1extern crate serde_filter;
2extern crate serde_json;
3use serde_filter::prelude::*;
4use serde_json::json;
5
6fn main() {
7 let json = serde_json::json!({
8 "a": {
9 "b": {
10 "c": {
11 "d": "value"
12 }
13 }
14 },
15 "e": "value"
16 });
17
18 let expected = serde_json::json!({
19 "a.b.c.d": "value",
20 "e": "value"
21 });
22
23 let flattener = Flatten::default(); // default is '.'
24 let result = filter::<Flatten>(json, &flattener).unwrap();
25 println!("{:?}", result);
26 assert_eq!(result, expected);
27}