AFNetworking 2.0 - utilisation responseObject comme NSDictionary
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);
}];
c'est le recommandé pour envoyer GET
demande dans AFNetworking 2.0. Je veux récupérer la valeur d'une clé spécifique dans le json, c'est pourquoi je veux utiliser responseObject
comme NSDictionary
. c'est ce que j'ai essayé:
NSError *jsonError = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:(NSData *)responseObject options:kNilOptions error:&jsonError];
il ne fonctionne pas:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary bytes]: unrecognized selector sent to instance 0xa048120'
comment puis-je obtenir la valeur d'une clé spécifique dans responseObject
?
Vous devez vous connecter pour publier un commentaire.
Par défaut,
AFHTTPRequestOperationManager
jeux deresponseSerializer
à unAFJSONResponseSerializer
exemple,responseObject
est déjà votre analysé JSON (dans votre cas, ce sera unNSDictionary
selon ce que vous avez dit).Ensuite, il suffit de l'utiliser comme vous pouvez vous servir d'un dictionnaire:
L'objet de la réponse est déjà un dictionnaire! AFNetworking ne gérer que pour vous.