0

我需要一些关于 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中解决了更普遍的问题,但我正在寻找一种在修复该错误之前有效的解决方案。

4

0 回答 0