2012-05-07 2 views
0

저는 Apple JSON을 구문 분석해야하지만 약간 문제가 있습니다. 지금은이 일을 해요 :JSON 파스가 null을 반환합니다.

을 문제는 여기에 있습니다 :이 라인에

- (void)fetchedData:(NSData *)responseData { 
    NSError* error; 
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData 
                 options:kNilOptions 
                  error:&error]; 



    NSNumber *resultCount = [json objectForKey:@"resultCount"]; 
    NSLog(@"%i", [resultCount intValue]); 

    NSArray * AppStoreUrlParse = [json objectForKey:@"results"]; 

    NSDictionary* StoreParse = [AppStoreUrlParse objectAtIndex:0]; 

    NSLog(@"%@", [json objectForKey:@"price"]); 

} 

다음 NSlog이 returing됩니다

NSLog(@"%i", [resultCount intValue]); 

: 1 같이 JSON에서 (http://itunes.apple.com/lookup?id=387633954)

하지만이 줄의

NSLog(@"%@", [json objectForKey:@"price"]); 

NSLOG는 (Null)

을 반환합니다. json에서 가격을 얻는 방법을 아는 사람이 있습니까?

답변

4

'price'는 'results'배열의 첫 번째 항목 인 사전의 일부인 것처럼 보입니다.

당신은 당신의 JSON의 '결과'배열의 첫 번째 요소의 키 '가격'의 값을 얻을 것

NSLog(@"%@", [[AppStoreUrlParse objectAtIndex:0] objectForKey:@"price"]); 

를 시도 할 수 있습니다.

편집

사실, 코드를 다시 읽기, 당신은 이미이 줄에 배열의 첫 번째 요소지고있다 :

NSDictionary* StoreParse = [AppStoreUrlParse objectAtIndex:0]; 

그래서 당신이 할 필요가에 StoreParse에 의해 json을 변경할 수있다 NSLog :

NSLog(@"%@", [StoreParse objectForKey:@"price"]); 
+0

감사합니다. 4 분 안에 답을 받아 들일 것입니다. – Jones

관련 문제