1

I want to skip serialization of Token variant if its value is empty.

impl<'a> Serialize for UriParam<'a> {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer
    {
        match self {
            &UriParam::Token(ref token) => {
                if !token.is_empty() {
                    serializer.serialize_some(token)
                } else {
                    // what should I return instead?
                }
            },
            &UriParam::URI(ref uri) => serializer.serialize_some(uri),
            &UriParam::Param(ref option) => serializer.serialize_some(option),
        }
    }
}
dtolnay
  • 9,621
  • 5
  • 41
  • 62
Ark
  • 117
  • 2
  • 7

1 Answers1

2

Try the following:

serializer.serialize_none()

This serializes None (as opposed to Some)

snake_case
  • 106
  • 1
  • 7