Struct serde_qs::de::Config
[−]
[src]
pub struct Config { /* fields omitted */ }
To override the default serialization parameters, first construct a new Config.
A max_depth
of 0 implies no nesting: the result will be a flat map.
This is mostly useful when the maximum nested depth is known beforehand,
to prevent denial of service attacks by providing incredibly deeply nested
inputs.
use serde_qs::de::Config; use std::collections::HashMap; let mut config = Config::default(); config.max_depth(0); let map: HashMap<String, String> = config.deserialize_str("a[b][c]=1") .unwrap(); assert_eq!(map.get("a[b][c]").unwrap(), "1"); config.max_depth(10); let map: HashMap<String, HashMap<String, HashMap<String, String>>> = config.deserialize_str("a[b][c]=1").unwrap(); assert_eq!(map.get("a").unwrap().get("b").unwrap().get("c").unwrap(), "1");