访问$ .getJSON中的对象

时间:2015-11-30 07:33:11

标签: javascript json

所以,我使用$ .getJSON从openweathermap API获取对象。下面是我尝试输入时在控制台中获得的内容:

console.log(data[0])

我想访问'icon'。我试过了:

data[0]["icon"] and data[0].icon

然而,这无济于事。

任何人都可以帮助我吗?提前谢谢!

$.getJSON


(编辑#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)
当我做任何一种方式时,它都给我不确定。

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']);
    });
})