1. extern crate serde_json;
    2. use serde_json::{Value, Map, Number};
    3. fn main() {
    4. let mut inner_map = Map::new();
    5. inner_map.insert("x".to_string(), Value::Number(Number::from(10u64)));
    6. inner_map.insert("y".to_string(), Value::Number(Number::from(20u64)));
    7. let mut map = Map::new();
    8. map.insert("key1".to_string(), Value::String("test".to_string()));
    9. map.insert(
    10. "key2".to_string(),
    11. Value::Array(vec![
    12. Value::String("a".to_string()),
    13. Value::String("b".to_string()),
    14. ]),
    15. );
    16. map.insert("key3".to_string(), Value::Object(inner_map));
    17. println!("{}", serde_json::to_string(&map).unwrap());
    18. // => {"key1":"test","key2":["a","b"],"key3":{"x":10,"y":20}}
    19. }