如何使用 axios 获取天气的 API 'forecastday'?

How do I fetch Weather's API 'forecastday' using axios?

我用的是WeatherAPI的服务,returns给出城市名称的天气预报 URL 看起来像这样 https://api.weatherapi.com/v1/forecast.json?key=[API_KEY]&q=tokyo&aqi=no

尝试将 URL 粘贴到我的浏览器并将结果粘贴到 JSON 美化器后,这是结果

这是奇怪的部分。我尝试使用 axios 从我的应用程序中获取信息并将其打印出来,这就是它给我的结果

它无法获取 forecastday,而是给了我一个 [Object],这对我来说没有任何意义,因为它在我的浏览器上工作得很好

这是我的代码(对不起,意大利面条格式) https://pastebin.com/9eJQy5Bf

我尝试使用代理重新安装库,但结果还是一样。

forecast.forecastday 是一个对象数组,要从特定对象访问 属性,您必须指定该对象在数组中的索引。

例如,如果您想要第一个对象的 date 属性。

const data = {
  forecast: {
    forecastday: [{
      date: "2022-04-03"
    }]
  }
}

const date = data.forecast.forecastday[0].date; // index [0] = first element

console.log(date);

如果你有多天,你可以遍历它们或使用像 map() 这样的函数来获取特定的项目。

const data = {
  forecast: {
    forecastday: [{
        date: "2022-04-03",
        date_epoch: 123456789
      },
      {
        date: "2022-04-04",
        date_epoch: 123456789
      }
    ]
  }
}

const dates = data.forecast.forecastday.map(({ date }) => {
  return { date }
});

console.log(dates);