Анализировать значения из JSON, возвращаемого URL-адресом API Google Place - PullRequest
0 голосов
/ 01 января 2019

Я создаю бота с использованием диалогового потока и использую API Google Place для получения дополнительной информации о больницах.

Я сделал для примера фиктивный ответ, который возвращается Google Place API, вот ссылка: http://www.mocky.io/v2/5c2b9f9e3000007000abafe3

{
   "candidates" : [
      {
         "formatted_address" : "140 George St, The Rocks NSW 2000, Australia",
         "name" : "Museum of Contemporary Art Australia",
         "photos" : [
            {
               "height" : 3492,
           "html_attributions" : [
              "\u003ca href=\"https://maps.google.com/maps/contrib/105784220914426417603/photos\"\u003eKeith Chung\u003c/a\u003e"
           ],
           "photo_reference" : "CmRaAAAAaGaCX-kivNEaJ-z97AduTYgW3d98uv53-8skNrS1k1GTgOtiQ1-Z2gfWJydrpkrshuV_kHPKizl088dezEJgIxYGoTWqtJgah-u_I46qNNYMfUbk8LKBZqxzkHyIL1nWEhBO6lPa0NgvlyLGBrXpXFPUGhT0lAUj_oCiOWV2MEYdBeKf-kTtgg",
           "width" : 4656
            }
         ]
      }
   ],
   "status" : "OK"
}

Мне нужно проанализировать значениямой выбор из JSON, возвращенный Google Place API.Например, если бы мне пришлось анализировать значение 'name' из JSON выше с использованием Python, я бы сделал это:

import requests, json
api_key = ''
r = requests.get('https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name&key=' + api_key)
x = r.json()
y = x['candidates']
print(y[0]['name'])

Приведенный выше код для работы ясен и работает отлично.Учитывая мою неопытность в Nodejs, пожалуйста, дайте мне знать что-то похожее в Nodejs для анализа значения, например, значения 'name'?

Ваш ценный ответ воодушевит меня.

PS: смиренно, вопрос состоит в том, чтобы сначала сделать вызов Google Place API, а затем проанализировать значения из возвращенного JSON.Пожалуйста, следуйте инструкциям в коде Python выше для лучшего понимания.

1 Ответ

0 голосов
/ 01 января 2019

Получите ответ API в асинхронном HTTP-запросе (существует множество библиотек npm, таких как request, чтобы помочь вам автоматически устанавливать заголовки и т. Д.), Затем используйте стандартную библиотеку JSON.parse(body), чтобы получить простой объект JavaScript, который содержит структурированное представлениеответа API.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

...