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);
}];
this is the recommended way to send GET
request in AFNetworking 2.0. I want to get the value of a specific key in the json, so I want to use responseObject
as NSDictionary
. this is what I was trying:
NSError *jsonError = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:(NSData *)responseObject options:kNilOptions error:&jsonError];
it didn't work:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary bytes]: unrecognized selector sent to instance 0xa048120'
how can I get the value of a specific key in responseObject
?
By default,
AFHTTPRequestOperationManager
setsresponseSerializer
to anAFJSONResponseSerializer
instance, soresponseObject
already is your parsed JSON (in your case, it'll be anNSDictionary
according to what you said).Then, just use it as you'd use a dictionary:
The response object is already a dictionary! AFNetworking did handle that for you.