Sto inviando il seguente messaggio a un'istanza di AFHTTPClient. Prevedo che al blocco di successo venga inviato un oggetto Foundation (un dizionario) ma il debugger mi mostra che JSON è un oggetto _NSCFData. This question on SO afferma che ho bisogno di impostare l'intestazione Accept su 'application/json'. Bene, lo sto facendo, ma AFNetworking non sta ancora decodificando il JSON nel corpo della risposta. Se decodifico personalmente il json usando NSJSONSerialization, ottengo un NSDictionary come mi aspetto. Che cosa sto facendo di sbagliato?AFNetworking restituisce un oggetto _NSCFData anziché JSON
[client setDefaultHeader:@"Accept" value:@"application/json"];
[client postPath:@"/app/open_connection/"
parameters:params
success:^(AFHTTPRequestOperation *operation, id JSON) {
NSLog(@"successful login! %@", [JSON valueForKeyPath:@"status"]);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error opening connection");
NSAlert *alert = [NSAlert alertWithError:error];
[alert runModal];
}
];
Nota: sto programmando il server in Python utilizzando Django. Il tipo di contenuto della risposta è 'application/json'
Prova ad aggiungere [client registerHTTPOperationClass: [class AFJSONRequestOperation]]; –