C#动态JSON序列化

C#动态JSON序列化,c#,json,C#,Json,我正在调用API以获取设备列表。在我的模型中,我有一个设备列表属性: public List<Device> device { get; set; } 公共列表设备{get;set;} 但是,如果API返回1个设备,则返回的只是一个设备,而不是包含1个设备的设备列表 有什么好方法可以进行动态反序列化吗?我不想有两个不同的模型,通过编程解析JSON只是为了知道反序列化为哪个对象 JsonConvert.DeserializeObject<ListDevicesByLabelM

我正在调用API以获取设备列表。在我的模型中,我有一个设备列表属性:

public List<Device> device { get; set; }
公共列表设备{get;set;}
但是,如果API返回1个设备,则返回的只是一个设备,而不是包含1个设备的设备列表

有什么好方法可以进行动态反序列化吗?我不想有两个不同的模型,通过编程解析JSON只是为了知道反序列化为哪个对象

JsonConvert.DeserializeObject<ListDevicesByLabelModel>(responseText);
JsonConvert.DeserializeObject(responseText);

动态关键字对于反序列化JSON仍然很有用,我建议您看看这个问题

然后你就有了一个动态对象,而不需要两个模型


否则,列表中可能只有一项。

能否提供更多代码。可能是发生了其他事情。令人不快的Json在哪里?如果API返回一个对象而不是一个包含一个对象的数组…它是嵌套的,设备列表是一个属性等的属性。可能重复使用
SingleOrArrayConverter
dynamic data = Json.Decode(responseText);