如果变量的值为空,则跳过变量的序列化? (自定义序列化)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果变量的值为空,则跳过变量的序列化? (自定义序列化)相关的知识,希望对你有一定的参考价值。
如果值为空,我想跳过Token
变体的序列化。
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),
}
}
}
答案
请尝试以下方法:
serializer.serialize_none()
This serializes None
(as opposed to Some
)
以上是关于如果变量的值为空,则跳过变量的序列化? (自定义序列化)的主要内容,如果未能解决你的问题,请参考以下文章