Manejar correctamente UTF-8 en JSON en iOS

Estoy recibiendo algo de JSON que tiene strings extrañas UTF-8. P.ej:

{ "title": "It\U2019s The End"; } 

¿Cuál es la mejor manera de manejar estos datos para que se puedan presentar de forma legible? Me gustaría convertir ese \ U2019 en la marca de cotización que debería representar.

Editar: Supongamos que he analizado la cadena en un NSString * jsonResult

Edición 2: Estoy recibiendo el JSON a través de AFNetworking :

 AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSString* jsonResult = [JSON valueForKeyPath:@"title"]; } failure:nil]; 

Actualizar:

Kurt ha traído a la atención que AFJSONRequestOperation usa NSJSONSerialization bajo el capó. Como tal, es probable que su JSON no sea válido (como se menciona a continuación, no debe haber un ; y la U debe ser una minúscula. Esto se mencionó en la respuesta original a continuación.


Forma parte de la forma en que JSON puede almacenar sus datos. Deberá pasar su cadena JSON a través de un analizador JSON, luego podrá extraer su cadena correctamente.

Nota: El JSON que ha publicado anteriormente no es válido, no debe haber un punto y coma al final, y la U debe ser una minúscula u; El siguiente ejemplo tiene una cadena JSON modificada.

 NSString* str = @"{\"title\": \"It\\u2019s The End\"}"; NSError *error = nil; NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *rootDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; if (error) { // Handle an error in the parsing } else { NSString *title = [rootDictionary objectForKey:@"title"]; NSLog(@"%@", title); //Prints "It's The End" }