我收到了JSON
响应(下方已添加):
response : {
A = {
latitude = "0";
longitude = "0";
};
B = {
latitude = "0";
longitude = "0";
};
}
我需要获得lat,long的A,B,C,..值。并存储到一个数组中。在这里,我可以通过valueforkey :@"A"
方法获得,但我不知道响应第一个对象可能是1,2,3,无论如何。请给我一个很好的解决方案来解决这个问题。
谢谢, 阿贾伊
答案 0 :(得分:0)
试试这个
NSArray *firstLevelValues = [response allValues];
NSArray *lats = [firstLevelValues valueForKey:@"latitude"];
NSArray *longs = [firstLevelValues valueForKey:@"longitude"];
答案 1 :(得分:0)
NSDictionary
有两种方法allKeys
和allValues
。因此,如果您想要获取响应对象中的所有键,请使用以下语法:
NSArray *allKeys = [dict valueForKey:@"response"];
如果你想得到纬度和经度的值,那么迭代遍历allKeys for for循环。
NSDictionary *dict = @{@"response":@{@"A":@{@"latitude":@"0",@"longitude":@"0"},
@"B":@{@"latitude":@"1",@"longitude":@"1"}}};
NSDictionary *response = [dict valueForKey:@"response"];
NSArray *allKeys = [dict valueForKey:@"response"];
for (NSString *keyName in allKeys) {
NSLog(@"%@",[response objectForKey:keyName]);
NSString *latitude = [[response objectForKey:keyName] objectForKey:@"latitude"];
NSString *longitude = [[response objectForKey:keyName] objectForKey:@"longitude"];
}