![](/img/trans.png)
[英]Cannot deserialize the current JSON object because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly
[英]Deserialize complex JSON into Object - getting error Cannot deserialize the current JSON array (e.g. [1,2,3])
我有一個JSON對象字符串,我試圖將其反序列化為已創建的C#對象,但是在反序列化過程中始終出現錯誤。無法將當前JSON數組(例如[1,2,3])反序列化為類型,因為該類型需要JSON對象(例如{\\“ name \\”:\\“ value \\”})才能正確反序列化。
JSON似乎在數組中包含數組,我懷疑這是導致問題的原因,但是我沒有運氣找出確切的問題。 我必須承認在處理JSON數據時我是新手,所以我在這里找到了自己。
我已經嘗試了各種方法,包括使用在線工具為我生成類,但這並沒有給我令人滿意的結果。 我找不到的所有示例看起來都不像我在這里使用的JSON,這給我造成了一些障礙。
有問題的JSON:
{
"a": "2019-08-08T19:34:25Z",
"b": [
{
"c": "asdf"
},
[
"d",
"e",
"f"
],
{
"g": "sdfg"
},
{
"h": "dfgh"
},
{
"i": "fghj"
},
{
"j": "ghjk"
},
[
"k",
10,
10
]
]
}
我嘗試反序列化的對象:
public class ClassA
{
public DateTime a { get; set; }
public List<ClassB> b { get; set; }
}
public class ClassB
{
public string c { get; set; }
public List<string> stringList1 { get; set; }
public string g { get; set; }
public string h { get; set; }
public string i { get; set; }
public string j { get; set; }
public List<string> stringList2 { get; set; }
}
最后,我用來反序列化的代碼:
ClassA jclassa = JsonConvert.DeserializeObject<ClassA>(strdata);
我希望我可以將此JSON加載到此類中,而不會引入過多奇特的外觀。
您使用的JSON與要反序列化為的對象類具有不同的結構。
與您的對象匹配的JSON示例如下所示
{
"a": "2019-08-08T19:34:25Z",
"b": [
{
"c": "asdf",
"stringList1": [
"d",
"e",
"f"
],
"g": "sdfg",
"h": "dfgh",
"i": "fghj",
"j": "ghjk",
"stringList2": [
"k",
10,
10
]
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.