我正在尝试找到一种更好的方法来处理我在这里遇到的这个对象/字典难题。
基本上,我正在获取JSON iResponse(非常清晰)并反序列化为Dictionary。那很好,但是我得到了一个庞大的字典,其中也包含对象以及可能还有更多的字典?我有点困惑。
这是我的代码,可以将响应放入字典中:
var TicketInfo = jss.Deserialize<Dictionary<dynamic, dynamic>>(ticketExistsJSON.Content);
这就是我在控制台中得到的内容:
所以这在我的JiraTicketInfo变量中。您可以看到其完整的键值对,但在这些键值对的值内还有另一本词典?在这本词典中包含了我想要的键值对。我特别只想要数字1。
我找到了一种最终通过
获得它的方法字典JiraTicketInfo = TicketInfo [“问题”] [0] [“字段”];
var bumStatus =(object [])JiraTicketInfo [“ customfield_10004”];
var numStatusDict =(Dictionary)bumStatus [0];
JiraOrg = numStatusDict [“ name”]。ToString();
但是我觉得有一种更简单的方法来获得它,但是我的大脑似乎无法理解多维词典
任何帮助将不胜感激!
我什至没有在寻找答案,只是寻找答案的地方。谢谢:)
这是我的JSON响应:
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 1,
"total": 1,
"issues": [
{
"expand": "customfield_10087.properties,operations,versionedRepresentations,editmeta,changelog,renderedFields",
"id": "18293",
"self": "https://www.myjirahost.com/rest/api/2/issue/18293",
"key": "SS-2991",
"fields": {
"customfield_10070": null,
"customfield_10071": null,
"customfield_10072": null,
"customfield_10073": null,
"customfield_10074": null,
"customfield_10075": null,
"customfield_10089": null,
"customfield_10004": [
{
"id": "99",
"name": "Organization Name B",
"_links": {
"self": "https://www.myjirahost.com/rest/servicedeskapi/organization/99"
}
}
],
"environment": null,
"duedate": null
}
}
]
}
答案 0 :(得分:0)
使用resttosharp网站并建立课程可以在所有人的帮助下解决该问题:
RootObject JiraIssueObj = JsonConvert.DeserializeObject(ticketExistsJSON.Content);