2013-05-07 2 views
0

Я хочу получить указанные данные html_instructions из приведенного ниже URL-адреса. Я мог бы взять все данные из этого URL.Как получить данные из NSData

Только мне нужен только html_instructions. Как я могу разделить данные?

Я использовал следующий код для преобразования URL в NSData:

NSString *url = [NSString  stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=Chennai&destination=Madurai&sensor=false"]; 
    NSURL *googleRequestURL=[NSURL URLWithString:url]; 
    dispatch_async(kBgQueue, ^{ 
    NSData* data = [NSData dataWithContentsOfURL: googleRequestURL]; 
    }); 

ответ

1

Я разобрали JSON по следующей ссылке и распечатать инструкции HTML попытаться скопировать этот код и попробовать: http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&sensor=false

NSData *receivedData = Received data from url; 
    NSError* error; 
    NSMutableDictionary* parsedJson = [NSJSONSerialization JSONObjectWithData:receiveData    options:kNilOptions error:&error]; 

      NSArray *allkeys = [parsedJson allKeys]; 

     for(int i = 0; i < allkeys.count; i++){ 
      NSLog(@"############################"); 
      if([[allkeys objectAtIndex:i] isEqualToString:@"routes"]){ 
       NSArray *arr  = [responseJsonValue objectForKey:@"routes"]; 
       NSDictionary *dic = [arr objectAtIndex:0]; 
       NSLog(@"ALL KEYS FROM ROUTE: %@", [dic allKeys]); 
       NSArray *legs = [dic objectForKey:@"legs"]; 
        NSLog(@"legs array count %d", legs.count); 
       for(int i = 0; i < legs.count; i++){ 
        NSArray *stepsArr = [[legs objectAtIndex:i] objectForKey:@"steps"]; 
        for (int i = 0; i < stepsArr.count; i++) { 
         NSLog(@"HTML INSTRUCTION %@", [[stepsArr objectAtIndex:i] objectForKey:@"html_instructions"]); 
        } 
       } 

      } 
      NSLog(@"############################"); 
     } 
+0

жаль беспокоить вас. Я дал «html_instructions» в месте «YOURKEY». но он отображает нуль. –

+0

Можете ли вы опубликовать parseedJson? Что является нулевым? – jailani

+0

Да, я пишу parsedjson, но он показывает только null. –

2

Используй это как:

NSData* data = [NSData dataWithContentsOfURL:googleRequestURL]; 
    if (data == nil) { 
     return; 
    } 
    NSError* error; 
    NSMutableDictionary* json = [NSJSONSerialization 
           JSONObjectWithData:data 

           options:kNilOptions 
           error:&error]; 

    NSLog(@"Json : %@",json); 

Надеется, что это помогает.

+0

+1 Хороший сверхбыстрых ответ !! :) – rptwsthi

+0

спасибо за ваш рывкий nishant. но Json также отображает все данные из URL. нуждаются в данных «html_instructions» только от URl.thanks –

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