如何从多维词典C#读取

时间:2018-08-03 00:14:44

标签: c# json dictionary object

我正在尝试找到一种更好的方法来处理我在这里遇到的这个对象/字典难题。

基本上,我正在获取JSON iResponse(非常清晰)并反序列化为Dictionary。那很好,但是我得到了一个庞大的字典,其中也包含对象以及可能还有更多的字典?我有点困惑。

这是我的代码,可以将响应放入字典中:

var TicketInfo = jss.Deserialize<Dictionary<dynamic, dynamic>>(ticketExistsJSON.Content);

这就是我在控制台中得到的内容:

This is inside of my JiraTicketInfo

所以这在我的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 } } ] }

1 个答案:

答案 0 :(得分:0)

使用resttosharp网站并建立课程可以在所有人的帮助下解决该问题:

  

RootObject JiraIssueObj = JsonConvert.DeserializeObject(ticketExistsJSON.Content);