我想解析一些JSON数据。我正在使用James Newton-King's JSON.NET library。
我将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
}
}
]
}
你可以看到它非常复杂。 “root”是必要的,因为其他数据无法解析为JObject实例。
JObject o = JObject.Parse(jsonString);
JSON数据非常大。其中有多个项目具有不同的ID。我想找到一个具有特定ID的项目。
问题是,当我尝试通过数据进行预测时,它只有一个元素。
KEY: root
VALUE: the other stuff.
那么我如何找到其他内容并循环浏览内部的内容呢?
答案 0 :(得分:5)
没关系..
我刚解决了。
我删除了尾随[和结尾]。
所以它现在是一个有效的Json对象,而关键值foreach就像一个魅力......
foreach (KeyValuePair<String, JToken> d in o)
{
Console.WriteLine(String.Format("Key: {0}; Value: {1}", d.Key, d.Value));
}
乌拉!
原来这只是部分解决方案。因为现在其他人没有格式化,只有第一段是。其他人莫名其妙地消失了......:该死的......
更好的解决方案......我是一个完全白痴......
保留所有内容,只需使用JArray ja = JArray.Parse(stringOfJson);
这将为您提供一个完整的数组,所有数据都可以自由循环...真棒。 :)