我有一個包含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