遍历对象+数组+对象

时间:2014-04-13 01:34:53

标签: jquery arrays object

得到家伙,

我已经尝试过查看一系列教程,但我似乎无法找到详细介绍这一内容的教程。也许有人可以指出我正确的方向。

我有一个.json文件,如下所示:

{
    "users": [{
        "firstName": "John",
        "lastName": "Doe"
    }, {
        "firstName": "Sabrina",
        "lastName": "Doe"
    }]
}

我想运行一个.each循环并抓住所有用户。以下是我尝试过的内容:

$.getJSON("database.json", function(data) {
    $.each(data.users, function(key, val) {
        $('.dbUL').append('<li>' + key + ' : ' + val + '</li>');
    });
});

所以看起来它实际上吐出了数组,因为我输出0:[object Object]和1:[object Object]。

我的问题是,如何挖掘数组并实际吐出我存储在数组中的对象?

2 个答案:

答案 0 :(得分:4)

了解属性的内容(fistName, lastName): jsBin

$.getJSON("database.json", function(data) {
    $.each(data.users, function(idx, val) {
        $('.dbUL').append('<li>' + val.firstName + ' : ' + val.lastName + '</li>');
    });
});

不知道您想要获得的属性: jsBin

$.getJSON("database.json", function(data) {

    var LIhtml = "";

    $.each(data.users, function(idx, obj) { 

      LIhtml += "<li>";

      for(var key in obj){
        if(obj.hasOwnProperty(key)){
          LIhtml += obj[key]+" ";
        }
      } 

      LIhtml += '</li>';

    });

    $('.dbUL').append(LIhtml);
});

答案 1 :(得分:1)

据我所知,没有一种花哨的方法来抓住&#34; Hash&#34;的价值。例如,在JS中,就像在Ruby中一样。

为什么不在下面使用这样的东西?

$('.dbUL').append('<li>' + key + ' : ' + val.firstName + ' ' + val.lastName + '</li>');