UrlWithPhantomdata
URL に関する追加の型情報が必要なので、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で対処されていますが、そのバグが修正されるまで機能する解決策を探しています。