NSUTF8StringEncoding devuelve nil NSString

Estoy desarrollando una aplicación de iOs 4 con el último SDK y XCode 4.2.

Estoy usando un service web para recuperar algunos datos, y recibo esa información. Pero cuando hago esto

NSString *json_string = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; 

receivedData tiene 944bytes pero json_string es nil.

Desde el service web obtengo esta cadena (copyr y pegar desde la window del browser):

 {"posts": [ { "ID": "324","date": "10/02/2012","titulo": "Preparada para la lluvia","text": "¡Al mal time buena cara! Eso pensé al vestirme el otro dÃa que hiz...","foto": "2012/02/image20.jpg" } ] } 

He intentado validar JSON aquí, http://jsonformatter.curiousconcept.com/ , pero considero que no es válido. Muéstrame esta salida formateada:

 { "posts":[ { "ID":"324", "date":"10/02/2012", "titulo":"Preparada para la lluvia", "text":, "foto":"2012/02/image20.jpg" } ] } 

Y estos errores:

 Error:Strings should be wrapped in double quotes.[Code 17, Structure 20] Error:Invalid characters found.[Code 18, Structure 20] 

¿Alguna pista sobre lo que está sucediendo?

asegúrese de que tenga datos UTF8 válidos, compruebe que el uso de funciones como,

  NSStringEncoding encoding; NSString *pageData = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:NULL]; NSLog(@"Encoding %d",encoding);(Note: NSUTF8StringEncoding = 4) 

Codificación disponible,

 */ enum { NSASCIIStringEncoding = 1, /* 0..127 only */ NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, NSISOLatin1StringEncoding = 5, NSSymbolStringEncoding = 6, NSNonLossyASCIIStringEncoding = 7, NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */ NSISOLatin2StringEncoding = 9, NSUnicodeStringEncoding = 10, NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */ NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */ NSWindowsCP1253StringEncoding = 13, /* Greek */ NSWindowsCP1254StringEncoding = 14, /* Turkish */ NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */ NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */ NSMacOSRomanStringEncoding = 30, NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */ NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF32StringEncoding = 0x8c000100, NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */ NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */ }; typedef NSUInteger NSStringEncoding; 

Creo que su problema es el service web que no devuelve el text UTF-8 válido. Debe verificar la encoding en el lado del server.