pub fn deserialize_struct_case_insensitive<'de, T, D>(
    deserializer: D
) -> Result<T, D::Error>where
    T: DeserializeOwned,
    D: Deserializer<'de>,
Expand description

Deserializes a struct without checking for the fields case sensititivity.

Example:

#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate serde_aux;
extern crate serde;
extern crate chrono;

use serde_aux::prelude::*;

#[derive(Deserialize, Debug)]
struct AnotherStruct {
    aaa: String,
}
#[derive(Deserialize, Debug)]
struct MyStruct {
    #[serde(deserialize_with = "deserialize_struct_case_insensitive")]
    another_struct: AnotherStruct,
}

fn main() {
    let s = r#"{ "another_struct": { "AaA": "Test example" } }"#;
    let a: MyStruct = serde_json::from_str(s).unwrap();
    assert_eq!(a.another_struct.aaa, "Test example");
}