我如何遍历它并使用结构中的值?
"[{\"username\":\"aw\"},{\"username\":\"api\"},{\"companyname\":\"dd\",\"username\":\"dd\"},{\"companyName\":\"Testing\"}]"
我只想得到username
,这是对使用 mongodb 设计的数据库的调用产品。
我如何遍历它并使用结构中的值?
"[{\"username\":\"aw\"},{\"username\":\"api\"},{\"companyname\":\"dd\",\"username\":\"dd\"},{\"companyName\":\"Testing\"}]"
我只想得到username
,这是对使用 mongodb 设计的数据库的调用产品。
尝试这个,
arr = JSON.Parse(yourString).map(function(item){
return item.username;
});
首先,您必须将其转换为 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...
}
}
这是 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);
}
[编辑]问题改变了:
这里不需要 JSON,它是一个数组,你可以解析它并使用filter
and/ormap
方法:
var usernames = JSON.parse(yourResultStringFromMongoDb)
.filter(function(a){return a.username;})
.map(function(a){return a.username});
//=> ["aw", "api", "dd"]