AFNetworking + JSONKit没有合作

时间:2012-02-04 06:52:26

标签: iphone ios xcode afnetworking jsonkit

AFNetworking + JSONKit + iOS 5.0+ = JSON解析不起作用(尝试解析时返回nil对象)。

AFNetworking + iOS 5.0+ = JSON解析工作正常。

AFNetworking + JSONKit + iOS 4.X = JSON解析工作

AFNetworking + iOS 4.X = JSON解析不起作用(因为NSJSONSerializer仅适用于iOS5.0 +)。

我该如何解决这个问题?代码片段:

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    if([sender respondsToSelector:finish])
    {
        NSArray *responseArray = JSON;
        [sender performSelector:finish withObject:JSON];
    }
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    NSLog(@"Error retrieving: %@\n%@", error, response);
    if([sender respondsToSelector:fail])
    {
        [sender performSelector:fail];
    }
}];

1 个答案:

答案 0 :(得分:2)

奇怪的是JSONKit不适用于iOS 5 ......尽管如此,有一种简单的方法可以覆盖JSONKit以进行JSON编码/解码,并且首先尝试NSJSONSerialization,如果可用的话。只需将#define _AFNETWORKING_PREFER_NSJSONSERIALIZATION_添加到项目中的头文件(也许是Prefix.pch),您就应该全部设置。