解析nodejs中的json响应

时间:2016-11-03 06:24:16

标签: json node.js express

我是初学者并且学习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响应中获取数据的正确方法是什么。

请建议

2 个答案:

答案 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 );