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
不需要感谢,如果它解决了您的问题,请将其标记为答案。 –