我在工作中偶然发现了一个问题。我有一个我需要解析的JSON,所以我可以填充我的表。但是我们可以忽略表格,因为我可以自己做。我似乎遇到的问题是解析这个大json。简而言之:
NSData *jsonData = [NSData dataWithContentsOfURL:url];
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSArray* DetaliiTehnice = [json objectForKey:@"DetaliiTehnice"]; //10 elements
NSArray* ExtraData = [json objectForKey:@"ExtraData"]; //2 keys
我没有设法更多地解析他们。从完整的解析我想要这个:
- Array DateTehnice (10 elements)
+ Array/String Denumire (1 element)
+ Array Valori (3 elements)
+ String Criteriu
+ String Prod1
+ String Prod2
- Array ExtraData (6 elements)
+ Array/String Denumire (1 element)
+ Array Valori (3 elements)
+ String Criteriu
+ String Prod1
+ String Prod2
标有+的那个是我真正需要的。我不知道如何访问它们。如何获取Prod2值?我不需要非常优化的东西,我只需要一个可以访问元素的解决方案。
答案 0 :(得分:0)
NSString *prod2_DateTehnice = [[[json objectForKey:@"DateTehnice"]objectAtIndex:0] objectAtIndex:0]objectAtIndex:2];
同样的方式
NSString *prod2_ExtraData = [[[json objectForKey:@"ExtraData"]objectAtIndex:0] objectAtIndex:0]objectAtIndex:2];
答案 1 :(得分:0)
如果从服务器获取字典,请获取数据:
NSArray *DetaliiTehnice = json[@"DateTehnice"];
for (NSString *item in DetaliiTehnice) {
NSLog(@"%@", item);
}
或
NSLog(@"%@", DetaliiTehnice[1]);
如果你得到数组,那么替换为:
NSArray *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSDictionary *dict = json[1]; //change index
NSArray *DetaliiTehnice = dict[@"DateTehnice"];
for (NSString *item in DetaliiTehnice) {
NSLog(@"%@", item);
}