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}