Чтение файлов ответа JSON Google - PullRequest
0 голосов
/ 21 декабря 2018

Прежде всего, я новичок в этом, так что извините, если это «здравый смысл» для некоторых из вас.

Поэтому, используя пакет запроса для Node.js, я хотел отправить HTTP-запросв API мест Google, и API ответил файлом JSON, с которым мне трудно работать.

Код моего запроса:

request(url_nearby, {json: true}, function(err, resp, body){
   if(err){
     console.log(err);
   }else{
     console.log(body);
   }
});

Пример файла JSON ответа (издокументация):

{
"html_attributions" : [],
"results" : [
  {
     "geometry" : {
        "location" : {
           "lat" : -33.870775,
           "lng" : 151.199025
        }
     },
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/travel_agent-71.png",
     "id" : "21a0b251c9b8392186142c798263e289fe45b4aa",
     "name" : "Rhythmboat Cruises",
     "opening_hours" : {
        "open_now" : true
     },
     "photos" : [
        {
           "height" : 270,
           "html_attributions" : [],
           "photo_reference" : "CnRnAAAAF-LjFR1ZV93eawe1cU_3QNMCNmaGkowY7CnOf-kcNmPhNnPEG9W979jOuJJ1sGr75rhD5hqKzjD8vbMbSsRnq_Ni3ZIGfY6hKWmsOf3qHKJInkm4h55lzvLAXJVc-Rr4kI9O1tmIblblUpg2oqoq8RIQRMQJhFsTr5s9haxQ07EQHxoUO0ICubVFGYfJiMUPor1GnIWb5i8",
           "width" : 519
        }
     ],
     "place_id" : "ChIJyWEHuEmuEmsRm9hTkapTCrk",
     "scope" : "GOOGLE",
     "alt_ids" : [
        {
           "place_id" : "D9iJyWEHuEmuEmsRm9hTkapTCrk",
           "scope" : "APP"
        }
     ],
     "reference" : "CoQBdQAAAFSiijw5-cAV68xdf2O18pKIZ0seJh03u9h9wk_lEdG-cP1dWvp_QGS4SNCBMk_fB06YRsfMrNkINtPez22p5lRIlj5ty_HmcNwcl6GZXbD2RdXsVfLYlQwnZQcnu7ihkjZp_2gk1-fWXql3GQ8-1BEGwgCxG-eaSnIJIBPuIpihEhAY1WYdxPvOWsPnb2-nGb6QGhTipN0lgaLpQTnkcMeAIEvCsSa0Ww",
     "types" : [ "travel_agency", "restaurant", "food", "establishment" ],
     "vicinity" : "Pyrmont Bay Wharf Darling Dr, Sydney"
   }
  ],
 "status" : "OK"
}

Итак, мой вопрос, как я могу распечатать только элемент 'name' запроса JSON?

-Спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Предполагая, что массив results содержит только 2 элемента, вы можете получить первый элемент, используя results[0], а затем name для атрибута.

Вместе, это будет: results[0].name

Чтобы получить results, вам нужно извлечь его из тела ответа:

request(url_nearby, {json: true}, function(err, response){
   if(err){
     console.log(err);
   }else{
     console.log(response.body.results[0].name);
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...