iPhone och JSON decoding tips
Posted: May 14th, 2010 | Author: anders | Filed under: iphone | Tags: iphone, json, objective-c | No Comments »Hade en app som fungerade perfekt med SBJSON-encoder/decoder (som jag har sett och hört fler använda med goda resultat). Det har varit så för mig väldigt länge…
MEN… Helt plötsligt fick jag felmeddelanden utan att ha ändrat någon närliggande kod. Det klagades på att key-values inte var rätt separerade osv.
Det verkar som att den decodern inte klarar av för långa strängar och när json-flödet växte så gav den upp. Jag hittade istället TouchJSON vilken fungerade perfekt. Decodar på följande vis:
NSString *jsonString =[[NSString alloc] initWithString:collectedDataString];
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSError *error = nil;
NSDictionary *res = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
Touch JSON finns att ladda ner här.
Efter ytterligare läsning hittade jag även YAJL som i olika tester verkar vara snabbast av de tre.