我收到以下字符串应该是JSON
{\"CUPS\":\"890201\",\"Cama\":\"\",\"Cantidad\":1,\"Cargo_Autorizador\":\"\",\"Cargo_Remisor\":\"\",\"Celular_Autorizador\":\"\",\"Celular_Protegido\":\"30129193\",\"Celular_Remisor\":\"\",\"Ciudad_Autorizador\":\"BOGA - CUNDIRCA\",\"Cod_Descripcion\":\"\",\"Codigo_Entidad_Pagadora\":\"EP002 \",\"Codigo_Prestador\":\"152310\",\"Consecutivo_Impresion_Web\":\"\",\"DescripcionErrorNegocio\":null,\"Diagnóstico\":\"-M25.5\",\"Direccion_Autorizador\":\"AV N° 66A-27 \",\"Direccion_Prestador\":\"AV N° 66A-27 \"}
但为了序列化NSDictionary,我留下了Key的空格但是没有
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:encodData options:kNilOptions error:nil];
在日志中:
json=(NSDictionary *) 62 key/value pairs
[0]
[1]
[2]
[3]
我尝试将每个键的数据传递给NSArray
NSArray *typeArray=[[NSArray alloc]initWithArray:[json valueForKey:@"CUPS"]];
但它会产生错误
'-[__NSCFString count]: unrecognized selector sent to instance 0x7fb28ab973f0'
我需要获取NSArray上每个键的值
答案 0 :(得分:0)
如果您正在尝试获取json数据的密钥,请执行以下操作:
NSArray *typeArray=[json allKeys];
说实话,你的问题并不清楚,但这是一种枚举值和键的方法:
for (id key in [json allKeys]) {
NSLog(@"key = %@ | value = %@", key, [json valueForKey:key]);
}
答案 1 :(得分:0)
从您的JSON中可以清楚地看到[json valueForKey:@"CUPS"]
返回NSString
而不是NSArray
。
如果您需要从字典中检索所有值,您可以使用:
NSArray *typeArray = [json allValues];