迭代数组中的哈希值

时间:2013-01-07 09:33:37

标签: javascript jquery

如何迭代这个并开始使用结构中的值?

"[{\"username\":\"aw\"},{\"username\":\"api\"},{\"companyname\":\"dd\",\"username\":\"dd\"},{\"companyName\":\"Testing\"}]"

我想得到username,这是使用mongodb设计的数据库的调用产品。

4 个答案:

答案 0 :(得分:2)

试试这个,

arr = JSON.Parse(yourString).map(function(item){
     return item.username;
});

答案 1 :(得分:1)

首先,您必须将其转换为JavaScript数组。在jQuery中,您可以使用方法jQuery.parseJSON()来完成。所以代码看起来像这样:

var results = $.parseJSON(resultsFromMongoDB);
for (var i in results) {
    if (results[i]['username'] != undefined) {
        var username = results[i]['username']
        // Some code...
    }
}

答案 2 :(得分:0)

这是JSON。

你需要解析它以获得一个javascript对象。

然后你可以迭代数组:

var obj = JSON.parse("[{\"username\":\"aw\"},{\"username\":\"api\"},{\"companyname\":\"dd\",\"username\":\"dd\"},{\"companyName\":\"Testing\"}]");

for (int i = 0; i < obj.length; i++)
{
    console.log(obj[i].username);
}

答案 3 :(得分:0)

[编辑]问题已更改:

这里不需要JSON,它是一个数组你可以解析它并使用filter和/或map方法:

var usernames = JSON.parse(yourResultStringFromMongoDb)
   .filter(function(a){return a.username;})
   .map(function(a){return a.username});
//=> ["aw", "api", "dd"]

See also ...