2012-02-04 35 views
3

AFNetworking + JSONKit + iOS 5.0+ = JSON解析不起作用(試圖解析時返回nil對象)。AFNetworking + JSONKit不能一起工作

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]; 
    } 
}]; 

回答

2

奇怪的是,JSONKit不與iOS 5個工作......不過,有覆蓋JSONKit的JSON編碼/解碼,並首先嚐試NSJSONSerialization,如果這是可用一種簡單的方式。只需將#define _AFNETWORKING_PREFER_NSJSONSERIALIZATION_添加到項目中的頭文件(可能爲Prefix.pch),並且應該全部設置。

+2

謝謝。我只是切換到SBJSON,但它工作得很好。 – ninjaneer 2012-02-04 19:21:21