我有这样的数据结构:
{ "artistlist " : [ { "performer" : "Gate Zero" }, { "performer" : "nightech" }, { "performer" : "Marko Fuerstenberg" }, ] }我用这行代码从NSString读取这个结构到NSDictionary:
I read this structure from NSString into NSDictionary with this line of code:
JSON = [NSJSONSerialization JSONObjectWithData: [[chunks objectAtIndex:1] dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error: &e];with: [JSON objectForKey:@artistlist] 我得到这种结构:
with: [JSON objectForKey:@"artistlist "] i get this structure:
( { performer = "Gate Zero"; }, { performer = nightech; }, { performer = "Marko Fuerstenberg"; } )有没有什么方法可以更深入?
Is there any way to go "deeper" ?
我将如何解析生成的结构?
how would i parse the resulting Structure ?
我想直接获取值列表或访问执行者名称。如果我在tupel中有多个值,例如表演者姓名,专辑,年份,该怎么办?我如何访问这些值?
I would like to get a list of values or access performer names directly. What if i have several values in a tupel for example performer name, album, year. How would i access those values?
谢谢。
推荐答案是的,在您拥有 [JSON objectForKey:@artistlist] 之后,您将获得 NSArray NSDictionaries (有点令人困惑!)。
Yes, after you have [JSON objectForKey:@"artistlist "], you get an NSArray of NSDictionaries (slightly confusing!).
NSArray *performersArray = [JSON objectForKey:@"artistlist"]; for (NSDictionary *performerDic in performersArray) { NSLog(@"%@", [performerDic objectForKey:@"performer"]); }这应该产生每个表演者的名字。或者,您可以执行(NSUInteger i = 0; i< [performersArray count]; i ++)并访问 NSDictionary * performersDic = [performersArray objectAtIndex :i] 。从那里,你可以类似地使用 [performDic objectForKey:@performer]
This should yield each performer name. Alternatively, you can do for (NSUInteger i = 0; i < [performersArray count]; i++) and access NSDictionary *performersDic = [performersArray objectAtIndex: i]. From there, you can similarly use [performsDic objectForKey:@"performer"]
更多推荐
IOS JSON从“JSON Dict”中获取所有值。
发布评论