我在当前应用程序中使用SBJSON和Serialiazation。现在,我用AFNetworking2.0替换了NSURLConnection。我读过使用AFNetworking可以进行序列化。请提出在AFNetworking中JSONRepresentation的替代方法是什么?

谢谢

最佳答案

AFNetworking使用NSJSONSerialization解析JSON并创建Foundation表示形式。苹果极大地改善了NSJSONSerialization的性能。使用iOS 6及更高版本时,它是最快的库之一。您可以在文档中看到它:Warning: JSON parsing will use the built-in NSJSONSerialization class.:http://cocoadocs.org/docsets/AFNetworking/1.3.1/Classes/AFJSONRequestOperation.html
或仅在源代码中。

这使得使用AFNetworking中的JSON数据非常简单。

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:someRequest];
operation.responseSerializer = [AFJSONResponseSerializer serializer];

之后,您就可以开始工作了:
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
 NSDictionary* response = responseObject;
 NSLog(@"Here is parsed Json data: %@", response);
 } failure:^(AFHTTPRequestOperation *operation, NSError *error){
 NSLog(@"Error");
}];
 [operation start];

附言我强烈建议您使用默认的AFNetworking工具来处理JSON,因为这将节省大量时间,并且只有在您对性能有非常非常特定的要求时,才可以找到更快的库并将它们与AFNetworking集成。但是,这并不是唯一的标准。一个小库在处理小块数据时会非常快,而在大块处理时会非常慢。

关于ios - AFNetworking中JSONRepresentation的替代方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22070724/

10-15 15:12