我在当前应用程序中使用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/