我需要一些关于网址的额外类型信息,因此我创建了一个UrlWithPhantomdata
结构,其中包含网址的值字段和PhantomData
字段。如何使用Serde将字符串反序列化为此结构?
更具体地说,给定这个JSON对象:
{
"url": "https://example.com"
}
如何将其反序列化为以下ApiData
结构?
#[derive(Deserialize)]
pub struct ApiData {
url: UrlWithPhantomdata<i32>
}
#[derive(Deserialize)]
pub struct UrlWithPhantomdata<T> {
#[serde(with = "url_serde")]
url_value: Url,
#[serde(skip)]
url_type: PhantomData<T>
}
serde-rs/serde#1048中解决了更为普遍的问题,但我正在寻找一个有效的解决方案,直到该错误得到解决。