Json,在另一层获取信息


Json, get info within another level

json代码如下:

{
    "player": [{
        "player_id": "1",
        "player_name": "Maxfly",
        "player_image": "res_573fc05f57c0e.png",
        "player_background_image": "images/player_backgrounds/581046687fd89.jpg",
        "player_info": "",
        "player_region": "North America",
        "player_teams": [{
            "id": "1",
            "team_name": "Test Team",
            "team_link": "test-team"
        }, {
            "id": "65",
            "team_name": "Test Team 2",
            "team_link": "test-team-2"
        }]
    }]
}

我已经设法得到player_id和player_name等。我的问题是我怎样才能得到团队?我尝试了以下方法:

$.getJSON("jsonlink", 
    function(data) {
        $.each(data.player.player_teams, function(i,player_team){
            var append_data = "<div class='item team_item'><div class='row'><div class='col col_img'><a href='/t/" + player_team.team_name + "' ></a></div></div></div>";
            $("#popin-container").append($('<div>' + append_data + '</div>').hide().fadeIn(800));
        });
    });
试着找出我做错了什么。我的json对象正确吗?

谢谢!

您的data.player.player_teams是错误的,因为data.player是一个数组,而不是一个对象。你需要循环遍历它,或者简单地说,你需要像这样附加一个[0]:

$.each(data.player[0].player_teams, function(i, player_team) {