QueryMap is a generic wrapper around HashMap
QueryMap can normalize HashMap structures with single value elements into structures with value vector elements.
cargo install query_map
Create a QueryMap from a HashMap:
```rust use std::collections::HashMap; use query_map::QueryMap;
let mut data = HashMap::new(); data.insert("foo".into(), vec!["bar".into()]);
let map: QueryMap = QueryMap::from(data); asserteq!("bar", map.first("foo").unwrap()); asserteq!(None, map.first("bar")); ```
Create a QueryMap from a Serde Value (requires serde
feature):
```rust use query_map::QueryMap;
struct Test { data: QueryMap, }
let json = serde_json::json!({ "data": { "foo": "bar" } });
let test: Test = serdejson::fromvalue(json).unwrap(); assert_eq!("bar", test.data.first("foo").unwrap()); ```
Create a QueryMap from a query string (requires url-query
feature):
```rust use query_map::QueryMap;
let data = "foo=bar&baz=quux&foo=qux";
let map = data.parse::