如何将值反序列化为具有该值的结构和Serde中的PhantomData?

时间:2018-02-15 22:16:04

标签: rust serde

我需要一些关于网址的额外类型信息,因此我创建了一个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中解决了更为普遍的问题,但我正在寻找一个有效的解决方案,直到该错误得到解决。

0 个答案:

没有答案