我很难遍历从ajax调用到天气api的数据集。我想获取诸如temp或id之类的值的值,但不断出错。我试过这个天气。天气[' id'],weather.weather.id,weather.weather [0]。我知道顶级天气层是一个物体。但是第二个天气正在通过一个阵列?那有一个对象吗?我如何从中提取信息?我有一些想法为正常的数据集做这个,但这对我来说很奇怪。注意这是VUEJS
AJAX CALL:
$.getJSON('http://api.openweathermap.org/data/2.5/weather?id=6356055&appid=44db6a862fba0b067b1930da0d769e98', function(weather) {
this.weather_data = weather;
}.bind(this));
这就是我将数据推送到空数组
weather_data: [],
然后现在我只是想确保它在这样的一些前标签中工作:
{{ weather_data.weather[0].id | json}}
这是从getjson调用中撤回的内容。
"weather": {
"coord": {
"lon": 2.13,
"lat": 41.4
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
"base": "cmc stations",
"main": {
"temp": 285.622,
"pressure": 1006.71,
"humidity": 98,
"temp_min": 285.622,
"temp_max": 285.622,
"sea_level": 1015.25,
"grnd_level": 1006.71
},
"wind": {
"speed": 2.61,
"deg": 267.501
},
"clouds": {
"all": 0
},
"dt": 1457178093,
"sys": {
"message": 0.0042,
"country": "ES",
"sunrise": 1457158704,
"sunset": 1457200063
},
"id": 6356055,
"name": "Barcelona",
"cod": 200
},
尝试这个weather_data.weather
这个
[
{
"id": 801,
"main": "Clouds",
"description": "few clouds",
"icon": "02d"
}
]
答案 0 :(得分:0)
首先,对于这类问题,我建议使用console.log(your_variable)并查看浏览器控制台(Chrome中的F12)你真正拥有的内容。否则,如果您的原始api响应存储在名为“data”的变量中,data.weather.weather [0] .id应该可以工作。