ios - 在 AFNetworking 中替代 JSONRepresentation

标签 ios

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

相关文章:

ios - swift 中的 XMPPFramework 错误

ios - 以前发布的获取通知的解决方案(在 NSOperationQueue 上完成所有任务)对我不起作用

java - PlayN - iOS 和 Android 上的虚拟键盘

ios - .h 文件中的变量与 Objective-C 中的 .m 文件相对

iphone - 在 cocos2d 中使用 NSTimer 制作随机对象

ios - 如何在 Storyboard中更改 View Controller 的标题

ios - 默认应用方向

iphone - 我在哪里可以找到有关 IOS 日历同步的好教程?

javascript - Touchstart 和 touchend 不能在 iOS 上使用 jquery mobile 和 cordova

ios - 如何在用户重启手机后继续跟踪位置?