[−][src]Module time::serde::timestamp::option
Treat an Option<OffsetDateTime>
as a Unix timestamp for the purposes of
serde.
Use this module in combination with serde's #[with]
attribute.
When deserializing, the offset is assumed to be UTC.
ⓘThis example is not tested
use serde_json::json; #[derive(Serialize, Deserialize)] struct S { #[serde(with = "time::serde::timestamp::option")] datetime: Option<OffsetDateTime>, } let s = S { datetime: Some(date!(2019-01-01).midnight().assume_utc()), }; let v = json!({ "datetime": 1_546_300_800 }); assert_eq!(v, serde_json::to_value(&s)?); assert_eq!(s, serde_json::from_value(v)?); let s = S { datetime: None }; let v = json!({ "datetime": null }); assert_eq!(v, serde_json::to_value(&s)?); assert_eq!(s, serde_json::from_value(v)?);
Functions
deserialize | |
serialize |