0
我試圖以最有效的方式反序列化json數組內的不同對象類型,但我無法真正看到如何以任何直接的方式完成此操作。我正在使用Newtonsoft.Json庫進行解析。Newtonsoft JSON反序列化不同對象類型的數組
我已經建立了一個簡單的例子來說明我試圖解決這個問題,類我想結合和JSON格式我的工作定義如下:
class Car
{
public int Wheels { get; set; }
public String Manufacturer { get; set; }
public String Colour { get; set; }
public double EngineSize { get; set; }
public String Year { get; set; }
}
class Aeroplane
{
public String Model { get; set; }
public String Airline { get; set; }
public int JourneyCount { get; set; }
}
class Ship
{
public String Name { get; set; }
public String Company { get; set; }
public int Capacity { get; set; }
public String YearBuilt { get; set; }
}
而且這裏是我試圖綁定到這些類的JSON。它被設置爲一個數組,每個位置有三種不同的嵌套對象類型。基本上,陣列中的每個元素/索引都包含三個對象,即汽車,飛機和船。
{[
{
"car": {
"wheels": 4,
"manufacturer": BMW,
"colour": "Black",
"engineSize": "1.6"
},
"aeroplane": null,
"ship": null
},
{
"car": {
"wheels": 4,
"manufacturer": BMW,
"colour": "Black",
"engineSize": "1.6"
},
"aeroplane": {
"model": "Dreamliner",
"airline": "Emirates",
"journeyCount": 4798
},
"ship": {
"name":"Queen Mary",
"company":"Cunard",
"capacity": 890,
"yearBuilt": 2000
}
},
{
"car": {
"wheels": 4,
"manufacturer": BMW,
"colour": "Black",
"engineSize": "1.6"
},
"aeroplane": {
"model": "Boeing 777",
"airline": "BA",
"journeyCount": 6158
},
"ship": {
"name":"HMS Diamond",
"company":"Royal Navy",
"capacity": 500,
"yearBuilt": 2010
}
}
]}
呀我只是意識到我粘貼了JSON的舊版本,道歉並且很好地被發現。謝謝,我會嘗試。 – nickyh62
不需要感謝,如果它解決了您的問題,請將其標記爲答案。 –