[−][src]Trait serde_hex::SerHexOpt
Variant of SerHex
for serializing/deserializing Option
types.
Any type T
which implements SerHex<C>
implements SerHexOpt<C>
automatically.
#[derive(Debug,PartialEq,Eq,Serialize,Deserialize)] struct MaybeNum { #[serde(with = "SerHexOpt::<CompactPfx>")] num: Option<u64> } let s: MaybeNum = serde_json::from_str(r#"{"num":"0xff"}"#).unwrap(); assert_eq!(s,MaybeNum { num: Some(255) }); let n: MaybeNum = serde_json::from_str(r#"{"num":null}"#).unwrap(); assert_eq!(n,MaybeNum { num: None });
Provided methods
fn serialize<S>(option: &Option<Self>, serializer: S) -> Result<S::Ok, S::Error> where
S: Serializer,
S: Serializer,
Same as SerHex::serialize
, except for Option<Self>
instead of Self
.
fn deserialize<'de, D>(deserializer: D) -> Result<Option<Self>, D::Error> where
D: Deserializer<'de>,
D: Deserializer<'de>,
Same as SerHex::deserialize
, except for Option<Self>
instead of Self
.
Implementors
impl<T, C> SerHexOpt<C> for T where
T: Sized + SerHex<C>,
C: HexConf,
[src]
T: Sized + SerHex<C>,
C: HexConf,
fn serialize<S>(option: &Option<Self>, serializer: S) -> Result<S::Ok, S::Error> where
S: Serializer,
[src]
S: Serializer,
fn deserialize<'de, D>(deserializer: D) -> Result<Option<Self>, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,