在下面的代码中,我尝试迭代JSON对象字符串。但是,我没有得到所需的输出。我在网页上的输出看起来像是: -
+ item.temperature ++ ++ item.temperature ++ item.temperature + item.temperature
输出温度的警报效果很好。我尝试通过迭代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>
答案 0 :(得分:3)
请勿在{{1}}部分的$("body").append("+item.temperature+");
内使用引号。
应该是
.append()
使用与您一样的引号编写该表达式,只需反复添加$(document.body).append(item.temperature);
。 Java // Ecmascript将引号解释为字符串文字。
请注意,我还将string
替换为"body"
。这主要是表现//访问原因,所以更好的业力。
答案 1 :(得分:1)
你的代码正在迭代,但是你要附加“+ item.temperature +”,你不想做像
这样的事情吗?$("body").append("Temp is " + item.temperature);
或
$("body").append(item.temperature);
答案 2 :(得分:0)
"+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);
});