Objective-C:如何在JSON中读取JSON?
我有这样的JSON:Objective-C:如何在JSON中读取JSON?,objective-c,ios,json,Objective C,Ios,Json,我有这样的JSON: { "destination_addresses" : [ "Dimitrov, Phnom Penh, Cambodia" ], "origin_addresses" : [ "Tchecoslovaquie, Phnom Penh, Cambodia" ], "rows" : [ { "elements" : [ {
{
"destination_addresses" : [ "Dimitrov, Phnom Penh, Cambodia" ],
"origin_addresses" : [ "Tchecoslovaquie, Phnom Penh, Cambodia" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "0.6 km",
"value" : 594
},
"duration" : {
"text" : "2 mins",
"value" : 100
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
这是我的代码:
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *data = (NSDictionary *) [parser objectWithString:apiResponse error:nil];
NSLog(@"Data = %@",data);
// getting the data from inside of "rows"
NSDictionary *rows = (NSDictionary *) [data objectForKey:@"rows"];
NSLog(@"Row = %@",rows);
NSDictionary *element = (NSDictionary *) [rows objectForKey:@"elements"];
NSLog(@"elements = %@",element);
NSDictionary *distance = (NSDictionary *) [rows objectForKey:@"distances"];
NSLog(@"Distance = %@",distance);
但出现错误:
-[\uu NSArrayM objectForKey:]:无法识别的选择器发送到实例0x5a9afa0,NSDictionary*元素=(NSDictionary
*)[行objectForKey:@“元素”]
我想在距离键中获得值 如果仔细观察,
行
是数组中的字典
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "0.6 km",
"value" : 594
},
"duration" : {
"text" : "2 mins",
"value" : 100
},
"status" : "OK"
}
]
}
]
所以你需要这样做
NSArray *rows = [data objectForKey:@"rows"];
NSDictionary *rowsDict = [rows objectAtIndex:0];
NSArray *element = [rowsDict objectForKey:@"elements"];
NSLog(@"elements = %@",element);
NSDictionary *distance = [[element objectAtIndex:0] objectForKey:@"distances"];
NSLog(@"distance= %@", distance);
等等等等
NSLog(@"Distance = %@",distance);