0
我試圖從服務器發送數據到客戶端時序列化和反序列化Dictionary<string, int>
類型的屬性。Json.Net無法反序列化具有多個泛型類型的對象?
所以,如果我這個序列化對象的簡化:
class Foo
{
public Dictionary<string, int> Bar { get; set; }
}
我得到這個漂亮的JSON(使用TypeNameHandling.All):
{
"$type": "Foo",
"Bar": {
"$type": "Dictionary<String, Int32>"
}
}
的問題是在反序列化一側我使用自定義的Binder來覆蓋BindToType以反序列化。但是當這樣做時,typeName是不正確的,而我得到"Dictionary<String"
。
public override Type BindToType(string assemblyName, string typeName)
{
if (typeName == "Dictionary<String, Int32>")
{
// I never get here because typeName is "Dictionary<String"
return typeof(Dictionary<string, int>);
}
// ...
}
你爲什麼不使用JsonConverers反序列化/ –
@Amit庫馬爾戈什歡迎你,如果你想發佈一個例子作爲一個答案。但要記住;大多數時候我不知道在反序列化方面期望什麼類型的對象。 – einord
請發表[mcve]。 –