到目前为止,我已经在JSON中发现封装在{}中的所有东西都是对象(objC:NSDictionary),封装在[]中的任何东西都是数组(objC:NSArray)。在objectiveC(SBJSON)对象和数组中解析JSON
我已阅读并重新阅读这篇文章,这个话题> How to parse JSON into Objective C - SBJSON
我有仿照这样的数据以.json文件:
http://elbee101.com/dummySchedule.json
...现在的验证码:
SBJSON *parser = [[SBJSON alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://elbee101.com/dummySchedule.json"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSDictionary *schedule = [parser objectWithString:json_string error:nil];
NSDictionary *day = [schedule objectForKey:@"day"];
NSArray *myList = [day objectForKey:@"name"];
NSLog(@"myList %@", myList);
NSArray *numLaps = [myList objectAtIndex:0];
NSLog(@"numlaps%@ ", numLaps);
我从上面的代码获取 “myList中(空)” 和 “numlaps(空)” @
0!问题:有人可以请我直接对我的JSON数据的对象和数组的排序吗?我想钻取树,以便我可以访问'day name','session starttime/endtime/sessionname','numlaps'&'class',但我似乎无法越过'day'对象/数组(?)
如果'SBJson'解析器只是你的问题,那么请确认你的'schedule'和'day'是否有值(记录它们并检查),或者你可以使用'NSJSONSerialization'来改善性能。您是否正在从您的主线程应用程序中执行此操作... – iDroid 2012-03-21 05:37:34
我有一个自定义类来解析任何json文件,因此您需要使用 – 2012-03-21 05:42:57
chiLLer,感谢您的回应! 'json_string'包含所有数据,'schedule'有1个键/值对,'day'有0个键/值对。 至于应用程序的主线程,不知道队友:)我真的正在寻找一个答案,根据其他线程即ie。顶级“时间表是一个对象,日是一个属性(?)的时间表,名称是一个数组(?)”等等......我真的在这里很深,对obj-c编程来说很新! – gokartracer101 2012-03-21 06:55:11