Estoy desarrollando una aplicación para iPhone, en la cual tengo que recorrer un JSON complejo, pero no sé cómo hacerlo. En algunos foros que he visto dicen que no es suficiente con la librería JSON de Google, y hay que hacer más, pero como no entiendo mucho el inglés, me ha costado encontrar una solución.
Hasta el momento puedo mostrar correctamente el JSON completo, pero mi dificultad ahora es poder recorrerlo, para poder llenar unos datos que finalmente deberán mostrarse en gráficos.
Estoy almacenando el JSON de la siguiente forma:
Código:
Luego puedo mostrarlo de la siguiente forma:SBJSON *parser = [[SBJSON alloc] init]; NSArray *resultado = [parser objectWithString:soapResults error:nil];
Código:
El JSON es el siguiente (no pude copiarlo completo por ser muy largo):for (NSDictionary *item in resultado){ NSLog(@"valores \"%@\" para \"%@\"",item, [resultado objectForKey:item]); }
Código HTML:
{ "datosHVN": [ { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 20 ] }, { "hora": "12:00", "valores": [ 17 ] }, { "hora": "11:30", "valores": [ 24 ] }, { "hora": "11:00", "valores": [ 24 ] }, { "hora": "10:30", "valores": [ 24 ] }, { "hora": "10:00", "valores": [ 23 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 60 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 5 ] }, { "hora": "12:00", "valores": [ 4 ] }, { "hora": "11:30", "valores": [ 4 ] }, { "hora": "11:00", "valores": [ 5 ] }, { "hora": "10:30", "valores": [ 6 ] }, { "hora": "10:00", "valores": [ 5 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 61 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 4 ] }, { "hora": "12:00", "valores": [ 4 ] }, { "hora": "11:30", "valores": [ 5 ] }, { "hora": "11:00", "valores": [ 3 ] }, { "hora": "10:30", "valores": [ 4 ] }, { "hora": "10:00", "valores": [ 5 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 62 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 4 ] }, { "hora": "12:00", "valores": [ 3 ] }, { "hora": "11:30", "valores": [ 4 ] }, { "hora": "11:00", "valores": [ 3 ] }, { "hora": "10:30", "valores": [ 4 ] }, { "hora": "10:00", "valores": [ 4 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 63 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 1 ] }, { "hora": "12:00", "valores": [ 0 ] }, { "hora": "11:30", "valores": [ 3 ] }, { "hora": "11:00", "valores": [ 5 ] }, { "hora": "10:30", "valores": [ 4 ] }, { "hora": "10:00", "valores": [ 4 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 64 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ], "datos": [ { "hora": "12:30", "valores": [ 2 ] }, { "hora": "12:00", "valores": [ 2 ] }, { "hora": "11:30", "valores": [ 1 ] }, { "hora": "11:00", "valores": [ 2 ] }, { "hora": "10:30", "valores": [ 2 ] }, { "hora": "10:00", "valores": [ 1 ] } ], "fechaCapturaStr": "30-03-2012 12:05", "nivel": 65 }, { "camposFechaCaptura": [ 2012, 3, 30, 12, 5, 32 ] ...
Saludos y gracias!