我使用下面的代码反序列化了JsonResponse。
var data = (JObject)JsonConvert.DeserializeObject(jsonResponse);
我得到了如下响应字符串
{
"results":[
{
"url":"tickets/2063.json",
"id":20794,
"subject":"Device not working",
"created_date": "2018-01-10T13:03:23Z",
"custom-fields":[
{
"id":25181002,
"value":34534
},
{
"id":2518164,
"value":252344
}
]
}
]
}
我的目标是读取这个json对象数组中的某些字段并插入到数据库中。我需要的字段是id、subject、created\u date、member\u id。
成员id是自定义字段的一部分。member\u id是id=2518164的值。我用列表来存储这个,你能告诉我列表或字典是否更适合这种情况吗。如何实现字典
var data = (JObject)JsonConvert.DeserializeObject(jsonResponse);
var tickets = data["results"].ToList();
foreach (var ticketItem in tickets){
Int64? ticketFormId = ticketItem["id"].Value<Int64>();
string subject = ticketItem["subject"].Value<string>();
DateTime createdDate = ticketItem["created_date"].Value<DateTime>();
//Do you think for the next step a dictionary is better or a List is better, since I want to search for a particular id=2518164
var fieldsList = ticketItem["fields"].ToList();
foreach(var fieldItem in fieldList){
Int64? fieldId = fieldItem["id"].Value<Int64>();
if(fieldId!=null && fieldId == 2518164){
memberId = fieldItem["value"].Value<string>();
}
}
}