到目前爲止,我已經在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