-2

我第一次尝试循环一个 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>');
        });
});  

});

4

1 回答 1

1

你真的应该 console.log 你的对象并弄清楚结构。

res.wind.speed在您认为它所在的位置,该对象中没有。

这是您的对象的概述-> 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
        });
    });  
});

小提琴

于 2013-10-04T20:22:31.040 回答