我是初学者并且学习javascript并且从未遇到解析json数组。我有以下字符串
[{"_id":"5810abfec95a8743ec237fab","credentials":[{"_id":"5810abfec95a8743ec237fab","username":"sam"}]}]
我试过了,
//using following middle-ware as well
let app = express();
const collectioName = "credentials";
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
//i get 'result' from one of query from mongodb
let response = JSON.parse(result);
console.log("got res " +response.credentials);
我也尝试以下列方式获取数据
for (var i=0; i<response['credentials'].length; i++){
console.log("got res " +response['credentials'][i]);
}
我需要从json响应中获取用户名及其值。 我想知道从这样的json响应中获取数据的正确方法是什么。
请建议
答案 0 :(得分:1)
请试试这个:
var data=response[0].credentials;
for (var i=0; i<data.length; i++){
console.log(data[i]._id);
console.log(data[i].username);
}
这是jsfiddle
答案 1 :(得分:1)
在查看上面的答案后,我得到了一些线索,我认为这也应该有效,这为我节省了迭代时间,因为数据结构将只返回一个json对象用于相应的凭据匹配(因为相同的凭据不能存在于DB中) )。
let response = JSON.parse(result);
var data=response[0].credentials;
let username = data[0].username;
let password = data[0].password;
console.log("username : " +username + "password : " +password );