遍历字典中的键以从已知键获取值

时间:2014-04-04 18:22:53

标签: c# json dictionary

我的Dictionary<string, object> testJson看起来像这样:

{
  "Data": {
    "Request": {
      "Id": "ADLFKJ9LKJADFJLSKLDJFAS",
      "Ts": "Fri Apr 04 10:51:54 EDT 2014",
      "Parameters": "advertisers=&responseFormat=json"
    },
    "Response": {
      "Id": null,
      "Ts": null
    },
    "StatusCode": "09",
    "Message": "Processing."
  }
}

我需要获取Data ==&gt;的值Request ==&gt; IdData ==&gt; StatusCodeData ==&gt; Message

到目前为止,我有

var requestId = (from p in testJson
                             where p.Key.Contains("Id")
                             select p.Value)
                             .FirstOrDefault();

Console.WriteLine(requestId.ToString());

它似乎没有像我期望的那样...... requestId正在返回null

感谢。

1 个答案:

答案 0 :(得分:1)

假设嵌套的JSON元素也是Dictionary<string, object> ...

类型
var data = (Dictionary<string, object>)testJson["Data"];
var request = (Dictionary<string, object>)testJson["Request"];

var message = (string)data["Message"];
var status code = (string)data["StatusCode"];
var id = (string)request["Id"];