Cerchi un esempio di come postare json con AFHTTPClient
. Vedo che esiste un metodo postPath che accetta uno NSDictionary
e il metodo AFJSONEncode restituisce uno NSData
. C'è un modo semplice per serializzare un oggetto su NSDictionary
, o c'è un modo più semplice con jsonkit?c'è un esempio di AFHTTPClient che invia json con AFNetworking?
Ho solo bisogno di postare l'oggetto come json su un'API REST.
AGGIORNAMENTO: Così ho provato a passare un dizionario, ma sembra interrompere la serializzazione di un array nidificato.
Per esempio, se ho un oggetto:
Post* p = [[Post alloc] init];
p.uname = @"mike";
p.likes =[NSNumber numberWithInt:1];
p.geo = [[NSArray alloc] initWithObjects:[NSNumber numberWithFloat:37.78583], [NSNumber numberWithFloat:-122.406417], nil ];
p.place = @"New York City";
p.caption = @"A test caption";
p.date = [NSDate date];
chi è ottenere dizionario ha dati come il seguente:
{
caption = "A test caption";
date = "2011-12-13 17:58:37 +0000";
geo = (
"37.78583",
"-122.4064"
);
likes = 1;
place = "New York City";
}
la serializzazione sarà o semplicemente non riuscire a titolo definitivo o geo non sarà serializzato come un array ma come una stringa letterale come ("37.78583", "-122.4064");
Hey Matt, ci stavo provando prima e ho avuto problemi con un nsarray nidificato. Sembra funzionare bene fino a quando non ho preso la mia proprietà geo che è un NSArray di due NSNumbers. Lo passerà come una stringa quotata con caratteri di escape quindi viene inviato come "(\ n 43.1, \ n -70.0)" – MonkeyBonkey
Ok, quindi stavo ottenendo quella formattazione divertente se non avessi impostato la serializzazione di json, ma con json serializzazione Ottengo un errore nella serializzazione di NSDate. Posso passarlo a un formattatore di date o dovrei formattarlo in stringa nel dizionario prima di passarlo a AFNetworking? – MonkeyBonkey
ha elaborato la serializzazione con jsonkit passando un blocco per gestire NSDates nel metodo JSONDataWithOptions ... qual è il modo migliore in cui pensi di tornare alla richiesta di rete? – MonkeyBonkey