使用$ .ajax从JSON调用数据

时间:2016-06-15 13:15:33

标签: jquery json ajax

我正在尝试从JSON响应中反序列化的对象中获取数据。请检查下面的代码。 AJAX工作正常,但不知道如何从密钥调用数据。请帮忙。

{
    "data": {
        "show_page": false,
        "io": true,
        "userslist": [{
            "Captain Hook": {
                "user_logo": "xyxImage.jpg",
                "partner": "Jan 2013",
                "usage": 123000,
                "wise": 73000,
                "server": 50000,
                "status": "bronze",
                "year": 2016,
                "sum": 300000,
                "order": 1
            }
        }]
    }
}
$.ajax({
    url: 'js/data.json',
    type: 'GET',
    dataType: 'json',
    success : function(users, status){
        console.log(users.data.userslist[0]); // Want to print "Captain Hook"
        console.log(users.data.userslist[0].user_logo); // Want to print "logo"
        console.log(users.data.userslist[0].partner); // Want to print "partner"
    }
}

1 个答案:

答案 0 :(得分:1)

根据您的数据结构,正确的代码为users.data.userslist[index]。要获取对象的密钥,您需要使用Object.keys(),然后可以使用它来检索其他所需的属性。试试这个:

success : function(users, status) {
    var user = users.data.userslist[0];
    var key = Object.keys(user)[0];
    console.log(key); // = "Captain Hook"
    console.log(user[key].user_logo); // = "xyxImage.jpg"
    console.log(user[key].partner); // = "Jan 2013"
}

Example fiddle