Objective c iOS–;Facebook SDK,解析结果

Objective c iOS–;Facebook SDK,解析结果,objective-c,ios,cocoa-touch,facebook-graph-api,Objective C,Ios,Cocoa Touch,Facebook Graph Api,在我的-request:didLoad:delegate方法中,我正在NSLog记录结果,但我不知道内容是什么 看起来结果是一个NSArray,但里面是什么?如何解析数据 日志的示例如下所示: result: ( { "fql_result_set" = ( { uid2 = 1234567; },

在我的
-request:didLoad:
delegate方法中,我正在
NSLog
记录结果,但我不知道内容是什么

看起来结果是一个
NSArray
,但里面是什么?如何解析数据

日志的示例如下所示:

result: (
        {
        "fql_result_set" =         (
                        {
               uid2 = 1234567;
            },
                        {
                uid2 = 12345678;
            }
        );
        name = queryID;
    },
        {
        "fql_result_set" =         (
                        {
                "birthday_date" = "05/12/1987";
                name = "John Doe";
            },
                        {
                "birthday_date" = "03/01/1978";
                name = "Jane Doe";
            }
        );
        name = queryBirthday;
    }
)
根据,所有“响应”都是JSON对象。为了解析这些,ios5提供了一个名为NSJSONSerialization()的类

您通常按如下方式对其进行分析:

NSDictionary *dictionaryJSON = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];

Facebook iOS教程“第6步:使用图形API”中说

请注意,服务器响应将采用JSON字符串格式。SDK使用开源JSON库解析结果。如果发生解析错误,SDK将回调委托中的请求:didFailWithError:

成功的请求将回调委托中的request:didLoad:。如果有多个结果,则传递给代理的结果可以是NSArray,如果只有一个结果,则传递给代理的结果可以是NSDictionary

在您的示例中,“()”内由NSLog打印的所有内容都是NSArray的一部分,“{}”(顺便说一句,其中也有键)内的所有内容都是NSDictionary的一部分,因此可以通过键(名称)访问