简体   繁体   中英

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

I use WeatherAPI's service, which returns the weather forecast given the city name The URL looks like this https://api.weatherapi.com/v1/forecast.json?key=[API_KEY]&q=tokyo&aqi=no

After trying to paste that URL into my browser and pasting the result into a JSON beautifier, here's the result

结果

Here's the weird part. I tried using axios to fetch the information from my app and printing it out, this is what it gave me

结果

It was unable to fetch forecastday and instead gave me a [Object] , which didn't make any sense to me since it worked just fine on my browser

Here's my code (sorry for the spaghetti formatting) https://pastebin.com/9eJQy5Bf

I tried reinstalling the library, using proxies but the result remained the same.

forecast.forecastday is an object array, to access a property from a particular object, you have to specify the index of the object in the array.

For example if you want the date property of the first object.

 const data = { forecast: { forecastday: [{ date: "2022-04-03" }] } } const date = data.forecast.forecastday[0].date; // index [0] = first element console.log(date);

If you would have multiple days, you could loop over them or use a function like map() to get the specific items.

 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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM