Действительно путают с объектом - PullRequest
0 голосов
/ 04 мая 2020

Проект для моего класса информатики вводит в заблуждение, и я не совсем уверен, что случилось с объектами.

Мне нужно взять данные из этого API погоды, и все идет хорошо, но есть одна часть возвращенного объекта, по которой я не могу получить доступ по какой-то причине.

Вот функция, которую я использую для получения информации, ввод - это название города, введенное пользователем. Я удалил несколько битов, но только разные переменные, такие как currentTemp, которые также правильно ответили

function getCurrentWeather(input) {
    var APIKey = APIKEY;
    var queryURL = "https://api.openweathermap.org/data/2.5/weather?q=" + input + "&appid=" + APIKey;

    $.ajax({
      url: queryURL,
      method: "GET"
    }).then(function (response) {
      console.log(response);

      currentTemp = response.main.temp //THIS ONE WORKS
      currentWeather = response.weather.description; //THIS ONE DOESN'T

      alert(currentWeather);
    });
  }
});

Вот консоль:

    Object {
  base: "stations",
  clouds: Object {
    all: 20
  },
  cod: 200,
  coord: Object {
    lat: 42.36,
    ion: -71.06
  },
  dt: 1588552126,
  id: 4930956,
  main: Object {
    feels_like: 288.63,
    humidity: 25,
    pressure: 1002,
    temp: 293.22,
    temp_max: 296.15,
    temp_min 290.37
  },
  name: "Boston",
  sys: Object {
    country: "US",
    id: 3486,
    sunrise: 1588498564,
    sunset: 1588549556,
    type: 1
  },
  timezone: -14400,
  visibility: 16093,
  weather: [Object {
  description: "few clouds",
  icon: "02n",
  id: 801,
  main: "Clouds"
}],
  wind: Object {
    deg: 280,
    speed: 3.6
  }
}

Объект погоды по некоторым причинам заключен в скобки, и это очень странно отформатированный. Я использую Codepen, если это что-то изменит.

1 Ответ

0 голосов
/ 04 мая 2020

'погода' - это массив объектов, по крайней мере, в этом случае, с одним объектом. Вы должны получить к нему доступ следующим образом: response.weather[0].description; (если то, что вы хотите, это всегда первый объект, следовательно, индекс '0').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...