我有一个包含JSON具有相同的结构,我的设备类JObject:从动态对象创建对象
public class Entry
{
public string key { get; set; }
public object value { get; set; }
}
public class Detail
{
public List<Entry> entry { get; set; }
}
public class Device
{
public List<Detail> details { get; set; }
}
我保存为动态的JSON:
dynamic d = JsonConvert.DeserializeObject(json);
我想创建一个从动态对象设备对象:
new Device { details = d.details }
我不能简单地做这样的,因为细节是一个包含列表一个列表,列表必须用一个构造函数创建,我无法弄清楚如何做到这一点。应该是什么样的?
new Device { details = new List<Detail> (entry = new List<Entry>(some list from d?))}}
请指教我。
编辑:
的JSON和我的对象不共享相同的结构,这部分呢,所以我不能简单地转换,而JSON。
为什么不直接反序列化为条目?使用var entry = JsonConvert.DeserializeObject(string json); –
bedane
这不完全相同,它分享相似性,它只是这个细节属性,我创建我的实际对象时遇到问题。 它在对象中的差不多1000个属性,所以我不能在这里发布它。 –
你为什么使用'dynamic'?反序列化完整对象,无论它是具体类型。如果它们都包含'List',那么只需将一个属性的值分配给另一个属性即可。 –
Sinatr