IOS JSON从"JSON Dict"中获取所有值

And*_*eas 2 iphone json objective-c ios

我有这个数据结构:

{ 
  "artistlist " : [ 
                    {
                      "performer" : "Gate Zero"
                    },
                    {
                      "performer" : "nightech"
                    },
                    {
                      "performer" : "Marko Fuerstenberg"
                    },

                  ] 
   }
Run Code Online (Sandbox Code Playgroud)

我用这行代码从NSString读取这个结构到NSDictionary:

   JSON = [NSJSONSerialization JSONObjectWithData:
   [[chunks objectAtIndex:1]        
   dataUsingEncoding:NSUTF8StringEncoding] options:              
   NSJSONReadingMutableContainers error: &e];
Run Code Online (Sandbox Code Playgroud)

with: [JSON objectForKey:@"artistlist "]我得到这个结构:

(
    {
    performer = "Gate Zero";
},
    {
    performer = nightech;
},
    {
    performer = "Marko Fuerstenberg";
}
)
Run Code Online (Sandbox Code Playgroud)

有没有办法去"更深层次"?

我将如何解析生成的结构?

我想直接获取值列表或访问执行者名称.如果我在tupel中有多个值,例如表演者姓名,专辑,年份,该怎么办?我将如何访问这些值?

谢谢.

Lou*_*uis 9

是的,你以后[JSON objectForKey:@"artistlist "],你会得到NSArrayNSDictionaries(略显混乱!).

NSArray *performersArray = [JSON objectForKey:@"artistlist"];  
for (NSDictionary *performerDic in performersArray) {
    NSLog(@"%@", [performerDic objectForKey:@"performer"]);
}
Run Code Online (Sandbox Code Playgroud)

这应该产生每个表演者的名字.或者,您可以进行for (NSUInteger i = 0; i < [performersArray count]; i++)访问NSDictionary *performersDic = [performersArray objectAtIndex: i].从那里,您可以类似地使用[performsDic objectForKey:@"performer"]