CFPropertyListCreateDeepCopy devuelve nil si cualquier valor es NULL

Estoy usando la siguiente function de CFPropertyListCreateDeepCopy: para convertir los objects inmutables en objects mutables. Si alguno de los objects es NULL, la CFPropertyListCreateDeepCopy vuelve vacía. Hay alguna CFPropertyListCreateDeepCopy para esto.

 self.packageArray = CFBridgingRelease(CFPropertyListCreateDeepCopy(NULL, (CFPropertyListRef)self.packageArray , kCFPropertyListMutableContainersAndLeaves)); 

CFPropertyListCreateDeepCopy no puede procesar la matriz / dictionary que contiene NSNull

Código de muestra

NSArray * inmutable = @ [@ "a", [NSNull null], @ "c"];

NSMutableArray * mutable = (__bridge id) CFPropertyListCreateDeepCopy (kCFAllocatorDefault, (__bridge CFArrayRef) immutable, kCFPropertyListMutableContainers);

sample json response from this link

http://www.json-generator.com/api/json/get/bQVoMjeJOW?indent=2

Gracias por adelantado.

Después de algunas horas de solución, he resuelto este problema por debajo.

Simplemente coloque debajo de la línea al convertir la respuesta de la API al object JSON.

 responseString=[responseString stringByReplacingOccurrencesOfString:@"\":null" withString:@"\":\"\""];//To Handle Null Characters //Search for below line in your parsing library and paste above code data = [responseString dataUsingEncoding:NSUTF8StringEncoding]; 

Por lo tanto, no habrá caracteres nulos en su object JSON, de ahí que no haya problemas al usar CFPropertyListCreateDeepCopy .

¡¡Aclamaciones!!