我是第一次尝试遍历json对象,我想要做的就是列出temp变量的所有内容,但是我无法想出如何使循环工作。
$("button").click(function(){
var url = "http://api.openweathermap.org/data/2.5/forecast?lat=53.7&lon=0.3&callback=?" ;
$.getJSON(url, function(res) {
$('#result').html('<p>lon: ' + res.city.coord.lon + '</p>');
$('#result').append('<p>lat: ' + res.city.coord.lat + '</p>');
$('#result').append('<p>wind: ' + res.wind.speed + '</p>');
$.each(res.list.main, function(i, temp) {
$('#result').append('<p>temp: ' + temp[i] + '</p>');
});
});
});
答案 0 :(得分:1)
你应该真的在console.log你的对象并找出结构。
在您认为的位置,该对象中没有res.wind.speed
。
以下是您对象的概述 - &gt;的 http://jsfiddle.net/t2KMk/1/ 强>
注意list
是不同时间的对象数组等,包含风,云,雨,主等等。
这是一个如何迭代这些值,获得风的例子
$("button").click(function(){
var url = "http://api.openweathermap.org/data/2.5/forecast?lat=53.7&lon=0.3&callback=?";
$.getJSON(url, function(res) {
$('#result').html('<p>lon: ' + res.city.coord.lon + '</p>');
$('#result').append('<p>lat: ' + res.city.coord.lat + '</p>');
$.each(res.list, function(i, temp) { // iterate the array
$('#result').append('<p>wind: ' + temp.wind.speed + '</p>');
// ^^^ here you have wind
});
});
});