2012-05-07 4 views
0

Мне нужно разобрать Apple JSON, но у меня есть небольшая проблема. Я сейчас делаю это:JSON parse возвращает 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(@"%i", [resultCount intValue]); 

NSLog является returing: 1, как и в формате JSON (http://itunes.apple.com/lookup?id=387633954)

Но по этой линии

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

NSLOG возвращается (Null)

Кто-нибудь знает, как я могу получить цену от json?

ответ

4

Похоже, что «цена» является частью словаря, который является первым элементом в массиве «results».

Вы можете попробовать

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

Это получить значение ключа «цена» в первом элементе массива «результаты» вашего JSON.

EDIT

На самом деле, перечитывая свой код, вы уже получаете первый элемент массива в этой строке:

NSDictionary* StoreParse = [AppStoreUrlParse objectAtIndex:0]; 

Так все, что вам нужно сделать, это изменить json по StoreParse в ваш NSLog:

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

Работы за меня, спасибо, собираюсь принять ваш ответ за 4 минуты – Jones

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