首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AFNetworking 2.0 -使用responseObject作为NSDictionary

AFNetworking 2.0 -使用responseObject作为NSDictionary
EN

Stack Overflow用户
提问于 2013-09-30 12:55:39
回答 2查看 20.7K关注 0票数 18
代码语言:javascript
复制
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

这是AFNetworking 2.0中用于发送GET请求的recommended way。我想要获取json中特定键的值,所以我想使用responseObject作为NSDictionary。这就是我所尝试的:

代码语言:javascript
复制
NSError *jsonError = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:(NSData *)responseObject options:kNilOptions error:&jsonError];

它不起作用:

代码语言:javascript
复制
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary bytes]: unrecognized selector sent to instance 0xa048120'

如何在responseObject中获取特定键的值

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-30 12:59:02

默认情况下,AFHTTPRequestOperationManagerresponseSerializer设置为AFJSONResponseSerializer实例,因此responseObject已经是您解析的JSON (在本例中,它将是您所说的NSDictionary )。

然后,就像使用字典一样使用它:

代码语言:javascript
复制
NSString *value = responseObject[@"someKey"];
票数 31
EN

Stack Overflow用户

发布于 2013-09-30 12:59:15

响应对象已经是一个字典!AFNetworking确实帮你解决了这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19086660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档