Function deserialize_optional_field

Source
pub fn deserialize_optional_field<'de, T, D>(
    deserializer: D,
) -> Result<Option<Option<T>>, D::Error>
where D: Deserializer<'de>, T: Deserialize<'de>,
Expand description

Hack to deserialize an Optional Option<T>

This is to differentiate between “missing” values and null values. For example in json {"v": null} and {} are different things, in the first one, v is null, but in the second, v is undefined.