проблема в разборе ответа JSON в iphone - PullRequest
2 голосов
/ 20 мая 2011

я получаю данные json от по этой ссылке

теперь я хочу получить данные из "html_instructions": part

NSDictionary *result = [stringtext JSONValue];
NSLog(@"here");
NSArray *resultarr = [result objectForKey:@"routes"];
NSString *string;

for(NSDictionary *di in resultarr){
    NSLog(@"for loop");
    string = [[di objectForKey:@"legs"] objectForKey:@"steps"];
}

но после печати "for loop" вконсоль выдает исключение

2011-05-20 16:16:26.997 speedymap[759:207] -[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x62a7d60

2011-05-20 16:16:26.999 speedymap[759:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x62a7d60'

пожалуйста, помогите мне, я хочу значение поля html_instructiuons

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Проверьте, действительно ли resultarr и di содержат что-либо или нет.

NSDictionary *result = [stringtext JSONValue];
NSLog(@"here");
NSArray *resultarr = [result objectForKey:@"routes"];
CFShow(resultarr);
NSString *string;

for(NSDictionary *di in resultarr){
    CFShow(di);
    NSLog(@"for loop");
    NSArray *tempArr = [[di objectForKey:@"legs"] objectForKey:@"steps"];
}
1 голос
/ 20 мая 2011

http://jsonviewer.stack.hu/#http://maps.googleapis.com/maps/api/directions/json?origin=delhi&destination=noida&waypoints=&sensor=true

Проверьте средство просмотра и установите соответствующие значения. [di objectForKey: @ "leg"] возвращает массив. Первый объект этого массива - это словарь, в котором есть ключевые шаги. Но это тоже возвращает другой массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...