数组之外的多个对象
本文关键字:对象 数组 | 更新日期: 2023-09-27 17:51:12
TrackIt Web API(我不能改变它)在返回对象中给了我这个JSON:
...
Notes: {
Note1: {
CreatedBy: "smarteam2"
...
},
Note2: {
CreatedBy: "smarteam2"
CreatedDate: "1/27/2014 2:37:36 PM"
...
}, ...
这里有N个音符。我不知道如何使用JSON对其进行反序列化。除非我做了一些感觉不对的事情,比如:
public class TrackItWorkOrderNotes
{
public TrackItWorkOrderNotes Note1 { get; set; }
public TrackItWorkOrderNotes Note2 { get; set; }
public string IsPrivate { get; set; }
public string FullText { get; set; }
public string WorkOrderNoteTypeId { get; set; }
}
在父元素中:
public class TrackitWorkOrder
{
public TrackItWorkOrderNotes Notes { get; set; }
public int Id { get; set; }
...
使用
ti = JsonConvert.DeserializeObject<TrackItResponse<TrackitWorkOrder>>(responseString);
我认为一定有更好的方法来获得笔记,而不需要在对象中预先定义N个。我相信TrackIt没有将"Notes"放在数组中可能会使这变得困难,但是是否有更聪明的方法来做到这一点?
使用Dictionary<string, Note>
作为注释:
public class TrackitWorkOrder
{
public Dictionary<string, TrackItWorkOrderNote> Notes { get; set; }
public int Id { get; set; }
...
}
public class TrackItWorkOrderNote
{
public string CreatedBy { get; set; }
public string CreatedDate { get; set; }
...
}