天気APIをタップするこの非同期関数は、APIから2つの情報を取得したいだけです.F &の温度C. API_Keyは削除されましたが、必要に応じてサイトにアクセスできます。wunderground APIからjsonデータにアクセスしますか?
私はconsole.log(応答)文のためにjsonオブジェクトを受け取っていることを確認できますが、このような深く埋め込まれたjson表記でこれらのデータポイントにアクセスする方法はわかりません。私は私の質問を推測
は、私は私がresponse.observation_location.fullような何かをしようと思いました完全な都市名の「フル」と言うにアクセスしたい場合であるが、それは動作しません...
ヘルプ?ここで
async loadWeather() {
// let zip = this.args.zip || 97239;
let response = await fetch(`http://api.wunderground.com/api/API_KEY/conditions/q/CA/San_Francisco.json`);
console.log(response);
this.weather = await response.json();
// setTimeout(() => { this.loadWeather(); }, 2000);
}
は、応答JSONの出力の一部です:
{
"response": {
"version": "0.1",
"termsofService": "http://www.wunderground.com/weather/api/d/terms.html",
"features": {
"conditions": 1
}
},
"current_observation": {
"image": {
"url": "http://icons.wxug.com/graphics/wu2/logo_130x80.png",
"title": "Weather Underground",
"link": "http://www.wunderground.com"
},
"display_location": {
"full": "San Francisco, CA",
"city": "San Francisco",
"state": "CA",
"state_name": "California",
"country": "US",
"country_iso3166": "US",
"zip": "94102",
"magic": "1",
"wmo": "99999",
"latitude": "37.77999878",
"longitude": "-122.41999817",
"elevation": "60.0"
},
"observation_location": {
"full": "SOMA, San Francisco, California",
"city": "SOMA, San Francisco",
"state": "California",
"country": "US",
"country_iso3166": "US",
"latitude": "37.778488",
"longitude": "-122.408005",
"elevation": "23 ft"
},
私は、ネストされたデータ値にアクセスするためにconsole.log(response["current_observation"])
をやって試してみましたが、それdoesntのは、それはundefinedを返しますように動作するように見えます。
あなたは受け取っている応答は何ですか? –
はこのページの例とほぼ同じです https://www.wunderground.com/weather/api/d/docs – Chris