我需要一些关于 URL 的额外类型信息,因此我创建了一个UrlWithPhantomdata
结构,其中包含 URL 的值字段和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中解决了更普遍的问题,但我正在寻找一种在修复该错误之前有效的解决方案。