Xcode如何解析Json对象

Xcode如何解析Json对象,xcode,json,uitableview,ios5,Xcode,Json,Uitableview,Ios5,我设法为我的服务器获取Json并在Xcode中解析,然后我可以将Json转换为一个对象并加载我的uitableview,问题是我的Json有7个对象 你可以看到 有了这段代码,我可以得到星期五的“星期五”,并在我的桌子上显示GymClass信息“GymClass” - (void)fetchedData:(NSData *)responseData { //parse out the json data searchResults2 = [NSMutableArray arrayWit

我设法为我的服务器获取Json并在Xcode中解析,然后我可以将Json转换为一个对象并加载我的uitableview,问题是我的Json有7个对象

你可以看到

有了这段代码,我可以得到星期五的“星期五”,并在我的桌子上显示GymClass信息“GymClass”

- (void)fetchedData:(NSData *)responseData { //parse out the json data

    searchResults2 = [NSMutableArray arrayWithCapacity:10];

    NSError* error;
    NSDictionary* dictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    NSLog(@"array : %@",dictionary);
    NSArray *array = [[dictionary objectForKey:@"posts"] objectForKey:@"Friday"]; // retrieve that Day Gym Classes

    if (array == nil) {
        NSLog(@"Expected 'posts' array");
        return;
          }

    for (NSDictionary *resultDict in array) 
    {
        SearchResult *searchResult3;
        searchResult3 = [self parseTrack:resultDict];

        if (searchResult3 != nil) {
           [searchResults2 addObject:searchResult3];
        }        
    }    
    [self.tableView reloadData];
}

- (SearchResult *)parseTrack:(NSDictionary *)dictionary
{
    SearchResult *searchResult1 = [[SearchResult alloc] init];

    searchResult1.classType= [[dictionary objectForKey:@"GymClass"] objectForKey:@"CLASS_TYPE"];
    searchResult1.classLevel= [[dictionary objectForKey:@"GymClass"] objectForKey:@"CLASS_LEVEL"];

    NSLog(@"parse track = %@", searchResult1);
    return searchResult1;
}
我可以获得一天的元素,但是如何获得每天(周一、周二、周日)的元素,以便我可以在我的表上按部分显示


感谢您的帮助。

在您的代码中,您已经做到了:

NSDictionary* dictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

NSLog(@"array : %@",dictionary);
NSArray *array = [[dictionary objectForKey:@"posts"] objectForKey:@"Friday"]; // retrieve that Day Gym Classes
Wen可以从那里开始,仅检索对象
posts

NSDictionary* dictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSDictionary *posts = [dictionary objectForKey:@"posts"];

//Iterate over posts

for (NSArray *aDay in posts){
     //Do something 
     NSLog(@"Array: %@", aDay);
}

在这里,我使用快速枚举来迭代字典,您应该检查一下。

在您的代码中,您已经在这样做了:

NSDictionary* dictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

NSLog(@"array : %@",dictionary);
NSArray *array = [[dictionary objectForKey:@"posts"] objectForKey:@"Friday"]; // retrieve that Day Gym Classes
Wen可以从那里开始,仅检索对象
posts

NSDictionary* dictionary = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSDictionary *posts = [dictionary objectForKey:@"posts"];

//Iterate over posts

for (NSArray *aDay in posts){
     //Do something 
     NSLog(@"Array: %@", aDay);
}

在这里,我使用快速枚举来迭代字典,你应该检查一下。

嗨,我知道如何获取一天“星期五”的信息,我只是不知道如何获取所有天的信息。@HernandoZ看一下第二段代码。在这里,我没有使用
Friday
,只是重复使用allgreat Thank,所以如果我使用快速枚举,我需要做什么?把每一天都保存到NSArray?然后我将有7个数组来收集信息,很抱歉让人头疼,你能解释一下我应该遵循什么流程才能在一个表中按天部分排序获得所有天的信息吗?我知道如何对一个数组进行排序,就像我对“星期五”所做的那样,但使用多个数组?感谢您的帮助。@HernandoZ您只能使用数组
posts
作为表视图的数据源。“节的数量是数组的大小,每个节的行数是n数组的大小。@乔纳森·努涅斯·阿奎兹:还有一个问题,我如何将数组中的帖子划分为日节?谢谢你的帮助。嗨,我知道如何获取一天“星期五”的信息,我只是不知道如何获取所有天的信息。@HernandoZ看看第二段代码。在这里,我没有使用
Friday
,只是重复使用allgreat Thank,所以如果我使用快速枚举,我需要做什么?把每一天都保存到NSArray?然后我将有7个数组来收集信息,很抱歉让人头疼,你能解释一下我应该遵循什么流程才能在一个表中按天部分排序获得所有天的信息吗?我知道如何对一个数组进行排序,就像我对“星期五”所做的那样,但使用多个数组?感谢您的帮助。@HernandoZ您只能使用数组
posts
作为表视图的数据源。“节的数量是数组的大小,每个节的行数是n数组的大小。@乔纳森·努涅斯·阿奎兹:还有一个问题,我如何将数组中的帖子划分为日节?谢谢你的帮助。