-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 に答える