2013-07-25 2 views
1

짧은 이야기. JSON 파일의 부모에만 액세스해야합니다. How to parse multiple json in objective-c?) 저자 : >이 JSON에서 NAME에 액세스해야합니다. (* 제거 링크)Objective C에서 여러 JSON 구문 분석

코드는 다음과 같습니다

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" 
       } 
} 

목표 C 점 표기법 사용할 수 있어야합니다 :

+1

'valueForKey @Martin

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

업데이트 감사 :의'이다 KVC 방법, 사전에 저장된 객체에 접근하는 올바른 방법은'o bjectForKey :' – JustSid

+1

아마도 'valueForKeyPath'를 의미했을 것입니다. –

+0

예 감사합니다 마틴 – mckeejm