如何从集合中获取json对象键名并进行迭代

时间:2013-04-09 14:35:58

标签: javascript backbone.js underscore.js

下面是我的json结构。在collection.fetch()成功之后,我循环遍历结构。

目前我使用

this.collection.each(function(model) { .. }

如何获取植物,动物等关键名称,并使用名称循环。

JSON

var jsonObj = {         // 0 - recommended , 1 - New
   "plants" : [

       {
        "title" : "title1",
            "desc": "description.." 
       },
           {
        "title" : "titl2",
            "desc": "description."  
       }    
    ],
    "animals" : [

       {
        "title" : "title1",
            "desc": "description.." 
       },
           {
        "title" : "titl2",
            "desc": "description."  
       }    
    ]
};

收藏快照

enter image description here

2 个答案:

答案 0 :(得分:3)

这样可行,但你要使用普通for循环,而不是“each”:

for(i in jsonObj){
     alert(i);
}

这是一个fjsfiddle:http://jsfiddle.net/r5nwP/

这就是你要追求的吗?

答案 1 :(得分:2)

您可以使用下划线keys来获取名称列表:

var thenames =_.keys(yourobject);

在这种情况下,thenames将包含您要查找的键列表。这是它的文档:

http://underscorejs.org/#keys

keys_.keys(对象) 检索对象属性的所有名称。

_。键({one:1,two:2,three:3}); => [“一”,“二”,“三”]