C# .NETC/Csharp中的JSON-从对象中获取值
我想解析一些JSON数据。我正在使用 我将JSON字符串解析为JObject。下面是我正在解析的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)",
"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
这将为您提供一个完整的阵列,其中包含所有可自由循环的数据。。。太棒了