我正在学习如何解析 JSON。我已经制作了 raywenderlich 教程,但我仍然迷失了一些步骤。我有自己的 JSON:
{
"Albumvideo":{
"album01":{
"titreAlbum":"Publicité",
"photoAlbum":"blabla.jpg",
"pubVideos":{
"pub01":[
{
"titrePub":"Chauffage Compris",
"dureePub":"01'25''",
"photoPub":"chauffage.jpg",
"lienPub":"http://www.wmstudio.ch/videos/chauffage.mp4"
}
]
}
},
"album02":{
"titreAlbum":"Events",
"photoAlbum":"bloublou.jpg",
"eventsVideos":{
"event01":[
{
"titreEvent":"Chauffage Compris",
"dureeEvent":"01'25''",
"photoEvent":"chauffage.jpg",
"lienEvent":"http://www.wmstudio.ch/videos/chauffage.mp4"
}
]
}
}
}
}
我得到了我的“代码”来解析我的 JSON:
- (void) viewDidLoad
{
[super viewDidLoad];
dispatch_async (kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:lienAlbumsVideo];
[self performSelectorOnMainThread:@selector(fetchedData:)withObject:data waitUntilDone:YES];
});
}
- (void)fetchedData:(NSData *)responseData {
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSArray* albumsVideo = [json objectForKey:@"Albumvideo"];
NSLog(@"Nombre d'albums : %i",[albumsVideo count]);
}
这很好用,我的 NSLog 返回“2”。例如,我现在遇到的困难是用“titreAlbum”或“event01”制作一个数组。如果我做 :
NSArray* event01 = [json objectForKey:@"event01"];
NSLog(@"Number of objects in event01 : %i ", [event01 count]);
我的 NSLog 返回“0”。
我真的不明白如何从 JSON 中的多维数组中解析信息。已经谢谢了!
尼古拉斯