iPhone och JSON decoding tips

Skrevs: May 14th, 2010 | Av: anders | Kategori: iphone | Taggad: , , | Inga kommentarer »

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.

**

Numera använder jag bara YAJL då den gett bäst prestanda och har aldrig haft några problem.



Spontan kommentar?