![](/img/trans.png)
[英]InvalidCastException while trying to deserialize JSON in C#
[英]Deserialize a Object with json returns an InvalidCastException
基於您的異常:未處理的異常。 System.InvalidCastException:無法將“Newtonsoft.Json.Linq.JObject”類型的對象轉換為“SimpleClass”類型。 在 Program.Main()
(SimpleClass)item.Value
在這里,您嘗試將object
SimpleClass
為SimpleClass
, SimpleClass
不可能的。 序列化器將 json 反序列化為類型object
和 instance 類型為Newtonsoft.Json.Linq.JObject
。 您應該將ArgumentBaseV2.Value
類型更改為 SimpleClass
class ArgumentBaseV2
{
...
public SimpleClass Value {get; set;}
}
或者您可以使用泛型類型:
class ArgumentBaseV2<T>
{
...
public T Value {get; set;}
}
然后像這樣使用它:
var myClass = new ArgumentBaseV2<SimpleClass>();
...
var deserialised = JsonConvert.DeserializeObject<ArgumentBaseV2<SimpleClass>>(json);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.