7

我有这个结构是通过用 Serde 反序列化创建的,我想在Url其中有一个未反序列化的类型字段:

#[derive(Deserialize, Debug)]
pub struct Flow {
    #[serde(skip_deserializing)]
    pub source: Url,
}

操场

Serde 抱怨Url不满足这个Default特质。我试过有和没有导出Default. 是我Default为自己实现该特征的唯一选择Url吗?

4

2 回答 2

11

您可以#[serde(default = "path")]在字段上使用,以提供带有签名的函数,fn() -> Url如果字段丢失,则应调用该函数。

于 2018-01-24T13:19:36.330 回答
1

也可以自己实现Deserialize并适当地处理缺失值。

于 2018-01-24T13:50:23.537 回答