pub fn deserialize_option_u64<'de, D>(
deserializer: D,
) -> Result<Option<u64>, D::Error>where
D: Deserializer<'de>,Expand description
See deserialize_u64.
Example:
use serde::Deserialize;
use serde_json::{Error, from_str};
use deserialize_custom_strings::deserialize_option_u64;
#[derive(Deserialize)]
struct Foo {
#[serde(deserialize_with = "deserialize_option_u64")]
definetly_a_option_u64: Option<u64>,
}
let json = r#"{
"definetly_a_option_u64": "0123456789"
}"#;
let foo: Result<Foo, Error> = from_str(json);
assert!(foo.is_ok());
assert_eq!(foo.unwrap().definetly_a_option_u64, Some(123456789));
let json = r#"{
"definetly_a_option_u64": null
}"#;
let foo: Result<Foo, Error> = from_str(json);
assert!(foo.is_ok());
assert_eq!(foo.unwrap().definetly_a_option_u64, None);
let json = r#"{
"definetly_a_option_u64": -123456789
}"#;
let foo: Result<Foo, Error> = from_str(json);
assert!(foo.is_err());