Я действительно считаю, что ответ user1429980 выше заслуживает большего признания.Это работает очень хорошо.Мой ответ основан на его функции.Я добавил несколько примеров, чтобы лучше проиллюстрировать, как искать объект JSON, используя код user1429980:
//searches object for a given key and returns the key's value
extractFromObject (object, key) {
return object.filter((component) => component.types.indexOf(key)
=== 0).map((item)=>item.long_name).pop() || null;
}
Пример 1: Google reverseGeocode API с долготой и широтой, установленными на 43,6532,79.3832 (Торонто, Онтарио, Канада):
var jsonData = {} //object contains data returned from reverseGeocode API
var city = extractFromObject(jsonData.json.results[0].address_components, 'locality');
console.log(city); //Output is Toronto
Пример 2: Google Places API с идентификатором места, установленным в ChIJE9on3F3HwoAR9AhGJW_fL-I (Лос-Анджелес, Калифорния, США):
var jsonData = {} //object contains data returned from Google's Places API
var city = extractFromObject(jsonData.json.result.address_components, 'locality');
console.log(city); //Output is Los Angeles