Module rust_decimal::serde::str_option
source · Available on crate feature
serde
and (crate features serde-with-str
or serde-with-float
or serde-with-arbitrary-precision
) and crate feature serde-with-str
only.Expand description
Serialize/deserialize optional Decimals as strings. This is particularly useful when using binary encoding formats.
#[derive(Serialize, Deserialize)]
pub struct StringExample {
#[serde(with = "rust_decimal::serde::str_option")]
value: Option<Decimal>,
}
let value = StringExample { value: Some(Decimal::from_str("123.400").unwrap()) };
assert_eq!(
&serde_json::to_string(&value).unwrap(),
r#"{"value":"123.400"}"#
);
let value = StringExample { value: None };
assert_eq!(
&serde_json::to_string(&value).unwrap(),
r#"{"value":null}"#
);