Ho provato questo utilizzando Jsonkit e il serializzatore JSON di Apple senza fortuna. Continua a rompere con la proprietà geo, che è un naranghera di NSNumbers.Come faccio a serializzare JSON un dizionario NSDate in JSONKit
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];
NSError* error = nil;
NSString* stuff = [[p getDictionary] JSONStringWithOptions:JKParseOptionNone error:&error];
UPDATE: Controllo sull'errore è la NSDate che fallisce su, non il NSArray. Come posso passare alla formattazione della data nella funzione?
UPDATE 2: ok Solved- guardato al più tardi impegnarsi per jsonkit e vide che si potrebbe fare questo:
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSString* result = [p.dictionary JSONStringWithOptions:JKSerializeOptionNone serializeUnsupportedClassesUsingBlock:^id(id object) {
if([object isKindOfClass:[NSDate class]]) { return([outputFormatter stringFromDate:object]); }
return(nil);
} error:nil];
, che sembra aver funzionato, ma presente che questa funzione per JSONKit è WIP così potrebbe cambiare nella prossima versione ufficiale.
Che cosa si intende quando si dice "si continua a rompere"? È un incidente? Non sta creando stringhe JSON come ti aspetti? Cosa stai vedendo? –
Suggerisco di provare a far funzionare JSONKit o il serializzatore JSON su iOS5 invece di far ruotare il parser per così dire. Che problemi hai avuto con JSONKit? –
Ho provato il codice precedente con JSONKit, in return nil quando chiamo JSONDATA e JSONString. Se lascio fuori il NSArray, funziona bene. Se serializzo solo il nsarray funziona benissimo restituendo la serializzazione corretta ... sembra solo un problema se ho un nsarray come valore nel nsdictionary e cerco di serializzare il nsdictionary. – MonkeyBonkey