所以,我使用$ .getJSON从openweathermap API获取对象。下面是我尝试输入时在控制台中获得的内容:
console.log(data[0])
我想访问'icon'。我试过了:
data[0]["icon"] and data[0].icon
然而,这无济于事。
任何人都可以帮助我吗?提前谢谢!
(编辑#1)
这是我的代码:
$.getJSON(weatherlink, function(json1) {
$.each(json1, function(key, data) {
// Creating a marker and putting it on the map
var marker = new MarkerWithLabel({
position: points,
labelContent: title,
labelAnchor: new google.maps.Point(22, 20),
labelClass: "label",
// icon: "http://openweathermap.org/img/w/" +data[0]["icon"]+ ".png"
});
markersWeather.push(marker);
marker.setMap(map);
console.log(data[0]);
});
})
weatherlink是一个包含API链接的变量。
(编辑#2)
this is how the entire data looks like
(编辑#3)
当我做任何一种方式时,它都给我不确定。
答案 0 :(得分:1)
从json1[0]
开始,而不是data
:
var icon;
json1 = [{
"icon": "04n"
}];
$.each(json1, function() {
icon = "<img src = http://openweathermap.org/img/w/" + json1[0].icon + ".png>"
});
$('#output').html(icon);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="output"></div>
答案 1 :(得分:0)
json1(Object)是内部循环,你可以使用像这样的条件
if ( key == 'icon' )
或if ( json1.hasOwnProperty( 'icon' ) ),
如果它匹配条件使用变量如数据或json1[key]
如果要获取循环外的值,请使用json1['icon'].
答案 2 :(得分:0)
试试这个(数据[键] ['图标']):
$.getJSON(weatherlink, function(json1) {
$.each(json1, function(key, data) {
// Creating a marker and putting it on the map
var marker = new MarkerWithLabel({
position: points,
labelContent: title,
labelAnchor: new google.maps.Point(22, 20),
labelClass: "label",
// icon: "http://openweathermap.org/img/w/" +data[0]["icon"]+ ".png"
});
markersWeather.push(marker);
marker.setMap(map);
console.log(data[key]['icon']);
});
})