2012-02-04 6 views
3

AFNetworking + JSONKit + iOS 5.0+ = Разбор JSON не работает (возвращает нильские объекты при попытке разбора).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 не работает с прошивкой 5 ... Тем не менее, есть простой способ, чтобы переопределить JSONKit для JSON кодирования/декодирования, и первый попробовать NSJSONSerialization, если это доступно. Просто добавьте #define _AFNETWORKING_PREFER_NSJSONSERIALIZATION_ в заголовочный файл проекта (Prefix.pch, возможно), и вы должны быть настроены.

+2

Спасибо. Однако я просто переключился на SBJSON, и он работал нормально. – ninjaneer