JSON Парсинг. значение не указывается в километрах - PullRequest
0 голосов
/ 13 марта 2012

Я новый программист. Я использую Google Matrix API.я получаю следующий ответ, я хочу получить "текст": "1686 км".Я использую Json Parsing.Спасибо

"destination_addresses" : [ "San Francisco, Californie, États-Unis" ],

   "origin_addresses" : [ "Vancouver, BC, Canada" ],

   "rows" : [

      {

         "elements" : [

            {

               "distance" : {

                  "text" : "1 686 km",

                  "value" : 1685690

               },

               "duration" : {

                  "text" : "3 jours 21 heures",

                  "value" : 336418

               },

               "status" : "OK"

            }
         ]
      }
   ],
   "status" : "OK"
}



  SBJsonParser *json = [[SBJsonParser new] autorelease];

  NSError *jsonError;

  parsedJSON = [json objectWithString:data error:&jsonError];

1 Ответ

1 голос
/ 13 марта 2012

Ну, parsedJSON будет NSDictionary, поэтому:

NSArray *rows = [parsedJSON objectForKey:@"rows"];
for (NSDictionary *row in rows) {
    NSArray *elements = [row objectForKey:@"elements"];
    for (NSDictionary *element in elements) {
        NSDictionary *distance = [element objectForKey:@"distance"];
        NSString *kmDistance = [distance objectForKey:@"text"]; ///< That's what you wanted
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...