我在当前的应用程序中使用 SBJSON 和 Serialiazation。现在我用 AFNetworking2.0 替换 NSURLConnection。我读过使用 AFNetworking 可以实现序列化。请建议 AFNetworking 中 JSONRepresentation 的替代方法是什么?
谢谢
最佳答案
AF联网使用NSJSONSerialization解析 JSON 并在底层创建 Foundation 表示。 Apple 大大提高了 NSJSONSerialization
的性能。使用 iOS 6 及更高版本时,它是最快的库之一。您可以在文档中看到它:
警告:JSON 解析将使用内置的 NSJSONSerialization 类。
: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/