使用jquery .each获取json对象中对象的名称

时间:2013-11-15 10:39:21

标签: jquery json

我有一个像这样的json对象

["items"]=>
    ["apple"]=>
             ["id"]=> "1234"
             ["price"]=> "1"
    ["pear"]=>
             ["id"]=> "4322"
             ["price"]=> "2"
    ["banana"]=>
             ["id"]=> "345"
             ["price"]=> "1"

但是,我在检索时不知道每个项目名称,如何访问这些项目并获取名称,苹果,梨,香蕉并显示其属性(ID和价格)。

通常我知道这个名字,我只会使用items.apple.id或items.apple.pear

$.each(items, function(){
     console.log(this.apple.id);
});

上面的jquery .each示例显示我是否知道该名称,但如果我不知道它的苹果,我想列出所有项目?

2 个答案:

答案 0 :(得分:0)

在对象上调用时,$.each会将每个keyvalue作为参数传递给提供的函数:

$.each(items, function(key, value) {
    console.log(items[key].id);    // or value.id
});

请注意,根据代码中的注释,value字段将是内部嵌套对象,因此您可以直接访问其字段(即value.id)。我已经使用items[key]更明确地显示了传递的参数,因为您明确表示您想知道对象的名称。

答案 1 :(得分:0)

试试这个,

$.each(items, function(ind,val){
     console.log(val.id);
});

Demo