2013-07-25 6 views
1

Длинный рассказ, короткий. Мне нужно получить доступ только к родительскому элементу в файле JSON. How to parse multiple json in objective-c?) Мне нужно получить доступ к автору > NAME от этого JSON. (* Удален ссылка)Разбор нескольких JSON в Objective C

Код:

NSURL *blogURL = [NSURL URLWithString:@"*removed link"]; 

    NSData *jsonData = [NSData dataWithContentsOfURL:blogURL]; 

    NSError *error = nil; 

    NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error]; 
// NSLog(@"%@",dataDictionary); 

    self.blogPosts = [NSMutableArray array]; 

    NSArray *blogPostsArray = [dataDictionary objectForKey:@"posts"]; 

    for (NSDictionary *bpDictionary in blogPostsArray) { 
     BlogPost *blogPost = [BlogPost blogPostWithTitle:[bpDictionary objectForKey:@"title"]]; 
     blogPost.author = [bpDictionary objectForKey:@"author"]; 
     blogPost.thumbnail = [bpDictionary objectForKey:@"thumbnail"]; 
     blogPost.date = [bpDictionary objectForKey:@"date"]; 
     blogPost.url = [NSURL URLWithString:[bpDictionary objectForKey:@"url"]]; 
     [self.blogPosts addObject:blogPost]; 
    } 

Как я могу сделать это доступ к этому значение?

ответ

1

Вы должны быть в состоянии использовать точечную нотацию

JSON

{ 
    "author": { 
       "name" : "mckeejm" 
       } 
} 

Objective C:

blogPost.author = [bpDictionary valueForKeyPath:@"author.name"]; 

обновляемые Благодаря @Martin

+1

'valueForKey:' является KVC метод, правильный способ доступа к объекту, хранящемуся в словаре, осуществляется через 'o bjectForKey: ' – JustSid

+1

Возможно, вы имели в виду' valueForKeyPath'. –

+0

да спасибо Мартин – mckeejm

Смежные вопросы