我有以下從REST服務來用下列JSON,我試圖用這個代碼把它反序列化到C#對象:C#中將此Json轉換爲什麼正確的類結構?
var _deserializer = new JsonDeserializer();
var results = _deserializer.Deserialize<Report>(restResponse);
的反序列化方法保持返回NULL,它告訴我,我的C#對象不結構正確。
以下是Json和我在C#定義中的最新嘗試。
{
"Report": [
{
"ID": "0000014",
"Age": "45",
"Details": [
{
"Status": "Approved",
"Name": "Joe"
},
{
"Status": "Approved",
"Name": "Bill"
},
{
"Status": "Submitted",
"Name": "Scott"
}
]
},
{
"ID": "10190476",
"Age": "40",
"Details": [
{
"Status": "Approved",
"Name": "Scott"
}
]
},
{
"ID": "10217480",
"Age": "40",
"Details": [
{
"Status": "Approved",
"Name": "Scott"
}
]
}
]
}
這裏是我的C#對象:
public class Report
{
public List<WorkItem> Item= new List<WorkItem>();
}
public class WorkItem
{
public string ID { get; set; }
public int Age { get; set; }
public List<Details> Details { get; set; }
}
public class Details
{
public string Status { get; set; }
public string Name { get; set; }
}
能有人建議有什麼不對我的C#對象的定義,使這個JSON反序列化正確?
以一致格式和縮進的JSON查看格式(因此回答問題)要容易得多。我通過http://jsonlint.com爲你運行它。 –
也許它是Report類的Item成員。如果你把它寫成:'public List Item {get;組; },就像@tam回答 –