[−][src]Crate serde_single_key_map
Unwrap a single key map with serde.
Installation
Add it to your Cargo.toml
:
[dependencies]
serde-single-key-map = "0.1"
Usage
ⓘThis example is not tested
#[derive(Debug, Deserialize)] struct Project { name: String, #[serde(deserialize_with = "serde_single_key_map::deserialize")] items: Vec<Item>, } #[derive(Debug, Deserialize)] struct Item { name: String, source: String, } fn main() { let s = r#"{ "name": "test", "items": { "item": [ { "name": "name", "source": "name.rs" } ] } }"#; let project: Project = serde_json::from_str(s).expect("deserialize failed"); assert_eq!(project.name, "test"); assert_eq!(project.items.len(), 1); let item = &project.items[0]; assert_eq!(item.name, "name"); assert_eq!(item.source, "name.rs"); }
Functions
deserialize |