C# .NETC/Csharp中的JSON-从对象中获取值

C# .NETC/Csharp中的JSON-从对象中获取值,c#,.net,json,C#,.net,Json,我想解析一些JSON数据。我正在使用 我将JSON字符串解析为JObject。下面是我正在解析的JSON: "root": [ { "date": 1325400000000, "id": 12313131, "loc": "en_us", "name": "New York, NY", "products": [ { "@type": "asdf", "city": "New York - Penn Station, NY (NYP)",

我想解析一些JSON数据。我正在使用

我将JSON字符串解析为JObject。下面是我正在解析的JSON:

"root": [
{
  "date": 1325400000000,
  "id": 12313131,
  "loc": "en_us",
  "name": "New York, NY",
  "products": [
    {
      "@type": "asdf",
      "city": "New York - Penn Station, NY (NYP)",
      "code": "USA",
    }
  ],
  "summary": {
    "alert": [],
    "end": 1325577000000,
    "start": 1325400000000
  }
}
]
}
正如你所看到的,这相当复杂。根目录是必需的,因为无法将数据解析为JObject实例

JObject o = JObject.Parse(jsonString);
JSON数据相当大。其中有多个具有不同ID的项目。我要查找具有指定ID的项目

问题是,当我尝试foreach遍历数据时,它只有一个元素

KEY: root
VALUE: the other stuff.
那么,我怎样才能找到其他东西,并循环浏览里面的东西呢?

无所谓

我刚刚解决了

我去掉了尾随[和尾端]

因此,它现在是一个有效的Json对象,并且foreach的键值工作起来就像一个符咒

            foreach (KeyValuePair<String, JToken> d in o)
            {
                Console.WriteLine(String.Format("Key: {0}; Value: {1}", d.Key, d.Value));
            }
万岁

事实证明,这只是部分解决方案。因为现在其他的都没有格式化,只有第一段是。其他人不知怎么消失了…:他妈的

更好的解决方案。。。我是个十足的白痴

把所有东西都放在原位,只需使用JArray ja=JArray.ParsestringOfJson

这将为您提供一个完整的阵列,其中包含所有可自由循环的数据。。。太棒了