проблема с итерацией по объекту JSON - PullRequest
0 голосов
/ 12 июля 2010

В приведенном ниже коде я попытался перебрать строку объекта JSON.Однако я не получаю желаемый результат.Мой вывод на веб-странице выглядит примерно так: -

+ item.temperau + ++ item.temperau + ++ item.tength ++ item.tempera + + 1003 *

Предупреждение, которое выводит температуру, работает хорошо.Часть, в которой я пытаюсь получить доступ к значению путем перебора строки объекта JSON, похоже, не работает.Может ли кто-нибудь помочь мне исправить это?

Код

<body>

<script>

$.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2',
 function(data) {

          $.each(data.weatherObservations, function(i,item){
            $("body").append("+item.temperature+");
            if ( i == 3 ) return false;
          });
    alert(data.weatherObservations[0].temperature);
        });

</script>

</body>

Ответы [ 3 ]

3 голосов
/ 12 июля 2010

Не используйте кавычки внутри $("body").append("+item.temperature+"); в части .append().

должно быть

$(document.body).append(item.temperature);

Для записи этого выражения с кавычками, как вы, просто добавьте string вновь и вновь.Java // Ecmascript интерпретирует все, что в кавычках, как строковый литерал.

Обратите внимание, что я также заменил "body" на document.body.Это в основном связано с производительностью // доступа, поэтому лучшая карма.

1 голос
/ 12 июля 2010

Ваш код выполняет итерацию, но вы добавляете "+ item.tempera +", не хотите ли вы сделать что-то вроде

$("body").append("Temp is " + item.temperature);

или

$("body").append(item.temperature);
0 голосов
/ 12 июля 2010

"+item.temperature+" означает строку, которая "+item.temperature+"

"pre" + item.temperature + "post" объединит переменную со строками.

$.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2', 
  function (data) {
    $.each(data.weatherObservations, function (i, item) {
        $("body").append(item.temperature + ",");
        if (i == 3) return false;
    });
    alert(data.weatherObservations[0].temperature);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...