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中有多个值,例如表演者姓名,专辑,年份,该怎么办?我将如何访问这些值?
谢谢.
是的,你以后[JSON objectForKey:@"artistlist "],你会得到NSArray的NSDictionaries(略显混乱!).
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"]