Example
parent
9558c6e30e
commit
7be516b237
@ -0,0 +1,36 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate enumscribe;
|
||||||
|
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
#[derive(EnumStrDeserialize, PartialEq, Eq, Debug)]
|
||||||
|
#[case_insensitive]
|
||||||
|
enum Airport {
|
||||||
|
#[str_name("LHR")]
|
||||||
|
Heathrow,
|
||||||
|
#[str_name("LGW")]
|
||||||
|
Gatwick,
|
||||||
|
#[str_name("LTN")]
|
||||||
|
Luton,
|
||||||
|
#[str_name("BHX")]
|
||||||
|
BirminghamInternational,
|
||||||
|
#[other]
|
||||||
|
Other(Box<String>),
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let json_str = r#"
|
||||||
|
{
|
||||||
|
"airport_1": "LTN",
|
||||||
|
"airport_2": "bhx",
|
||||||
|
"airport_3": "lHr",
|
||||||
|
"airport_4": "MAN"
|
||||||
|
}"#;
|
||||||
|
|
||||||
|
let json: HashMap<String, Airport> = serde_json::from_str(json_str).unwrap();
|
||||||
|
|
||||||
|
println!("{:?}", json.get("airport_1").unwrap());
|
||||||
|
println!("{:?}", json.get("airport_2").unwrap());
|
||||||
|
println!("{:?}", json.get("airport_3").unwrap());
|
||||||
|
println!("{:?}", json.get("airport_4").unwrap());
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue