我尝试了很多小时来解析JsonArray,这是我通过graph.facebook获得的,以便可以获得额外的值。我要提取的值是消息和ID。

获得JasonArry没问题,可以正常工作:

[
    {
    "code":200,
    "headers":[{"name":"Access-Control-Allow-Origin","value":"*"}],
    "body":"{
        \"id\":\"255572697884115_1\",
        \"from\":{
            \"name\":\"xyzk\",
            \"id\":\"59788447049\"},
        \"message\":\"This is the first message\",
        \"created_time\":\"2011-11-04T21:32:50+0000\"}"},
    {
    "code":200,
    "headers":[{"name":"Access-Control-Allow-Origin","value":"*"}],
    "body":"{
        \"id\":\"255572697884115_2\",
        \"from\":{
             \"name\":\"xyzk\",
             \"id\":\"59788447049\"},
        \"message\":\"This is the second message\",
        \"created_time\":\"2012-01-03T21:05:59+0000\"}"}
]


现在,我尝试了几种访问消息的方法,但是每个方法都以catch ...结尾并引发异常。

例如:

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<dynamic>(json);

foreach (var item in result)
{
    Console.WriteLine(item.body.message);
}


引发异常:System.Collections.Generic.Dictionary不包含正文的定义。尽管如此,您仍可以在下面的屏幕截图中看到该主体包含定义。

因为不允许发布图片,您可以在直接上传中找到它:http://s7.directupload.net/images/120907/zh5xyy2k.png

我没有更多的主意,所以请您帮助我。我需要这个用于私人而非商业项目。

也许您可以给我一个代码短语,以便我继续我的开发。

到目前为止谢谢你

多米尼克

最佳答案

如果使用Json.Net,您要做的就是

更换

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<dynamic>(json);




dynamic result = JsonConvert.DeserializeObject(json);


就这样。

10-08 12:03