如何将NSDictionary解析为数组数组?

时间:2012-06-04 08:12:43

标签: objective-c nsmutablearray nsarray nsdictionary

here是我的数据模式,我想创建一个部分数组,在这种情况下,每个部分将包含该部分中的行数组。我看了下面的问题:

和其他一些帖子但是没有结果。任何人都可以指导我如何创建一个部分数组,每个部分应包括自己的行..提前感谢

修改 我已经解析了我的数据,pastebin链接的日志结果是NSDictionary 这是我如何获取和解析它:

 NSString*key1=[ result objectForKey:@"key" ];                
         NSString *s1=[@"http://" stringByAppendingString:server.text];
         NSString *s2=[s1 stringByAppendingString:@"/ipad/button.php"];
         NSURL *url2=[NSURL URLWithString:[s2 stringByAppendingString:[@"?key=" stringByAppendingString:key1]]];

        NSData *data2=[NSData dataWithContentsOfURL:url2];
         result2=[NSJSONSerialization JSONObjectWithData:data2 options:NSJSONReadingMutableContainers error:nil];

pastebin中的结果是:NSLog(@"Result: %@", result2);

1 个答案:

答案 0 :(得分:1)

您的数据采用JSON格式,因此只需使用NSJSONSerialization类为您创建数组数组。

NSString *yourData;
NSData *data = [yourData dataUsingEncoding:NSUTF8StringEncoding];
NSArray *arrayOfArrays = [NSJSONSerialization JSONObjectWithData:data 
    options:NSJSONReadingAllowFragments error:nil];

要在表视图中使用您的部分数组,只需使用常用的表视图datasource方法:

// numberOfSectionsInTableView
return [array count];

// numberOfRowsInSection
return [[array objectAtIndex:section] count];

// cellForRowAtIndexPath
cell.textLabel.text = [[[array objectAtIndex:indexPath.section] 
   objectAtIndex:indexPath.row]
      objectForKey:"name"];