0

我的json搅拌是:

{

"locations" :[
       {                
        id = 0;
        lat = "41.653048";
        long = "-0.880677";
        name = "LIMPIA";
       },
       {
        id = 1;
        lat = "41.653048";
        long = "-0.890677";
        name = "LIMPIA2";
       }
  ]

}

使用:

NSDictionary * root = [datos_string1 JSONValue];
NSArray *bares = (NSArray *) [root objectForKey:@"locations"];  

   for (NSArray * row in bares) {
    NSString *barName1 = [bares valueForKey:@"name"];
    NSLog(@"%@",barName1);
    }

我从 NSlog 获得两次 otput ( LIMPIA, LIMPIA2 )

所以有些事情是错误的。我需要为每个项目提取 di 单值参数(lat、lon 和 nombre)(以便在 mapkit 应用程序中使用)。你可以帮帮我吗?

4

1 回答 1

1

我需要为每个项目提取 di 单值参数(lat、lon 和 nombre)(以便在 mapkit 应用程序中使用)

如果我正确理解您的问题,您正在尝试访问locations数组中每个字典中的每个值,对吗?

为了访问每个值(如果这确实是您的问题),这应该有效:

NSDictionary *root = [datos_string1 JSONValue];
NSArray *bares = (NSArray *)[root objectForKey:@"locations"];  

// Each item in the array is a dictionary, not an NSArray
for (NSDictionary *dict in bares) {
    // Loop over keys
    for (NSString *key in [dict allKeys]) {
        NSLog(@"dict[%@] == %@", key, [dict objectForKey:key]);
    }
}
于 2012-05-12T23:59:01.087 回答