【问题标题】:How to parse JSON in node js如何在节点 js 中解析 JSON
【发布时间】:2017-04-27 15:55:18
【问题描述】:

我有这个 JSON 数组,我想要的是单独获取密码字段

var user = [ { _id: 5902086ecbc0dd11e4870fd9,
    password: '$2a$08$FIpkmFT1WDZggQYyBA4CVuop6pelbKBfUEJ1/KAVIV2Si9Ho1EYhi',
    email: 'jv100@gmail.com',
    lastName: 'v',
    firstName: 'j',
    updatedDate: 2017-04-27T15:04:14.483Z,
    createdDate: 2017-04-27T15:04:14.483Z } ]

我尝试使用此代码对其进行解析

var obj = JSON.parse(user);
console.log(user.password);

但它仍然是未定义的。

【问题讨论】:

标签: javascript json node.js


【解决方案1】:

User 已经是一个对象列表,所以你不需要解析它。但是,它是一个数组。因此,如果您希望它是一个数组,则需要使用以下代码访问密码:

console.log(user[0].password);

【讨论】:

  • user 已经是一个不是 JSON 的对象数组。 JSON 是对象的字符串表示形式。
  • 是的,它解决了我的问题。对不起菜鸟问题。我是 nodejs 的新手。非常感谢
  • 我修正了我的答案以澄清更改@ibrahimmahrir
  • @PeterLaBanca 4 年 1 个月 6 天后的回复哈哈。迟到总比没有好:-)
【解决方案2】:

它已经是一个数组,没有什么可解析的。您可以通过以下方式访问您的财产:

console.log(user[0].password);

您无法使用user.password 访问您的属性,因为user 变量不是对象,它是一个数组,您的对象存储在数组的零索引处。

【讨论】:

    【解决方案3】:

    您已经拥有JSON object。因此,无需再次解析。

    演示

    var user = [{ _id: "5902086ecbc0dd11e4870fd9",
        password: '$2a$08$FIpkmFT1WDZggQYyBA4CVuop6pelbKBfUEJ1/KAVIV2Si9Ho1EYhi',
        email: 'jv100@gmail.com',
        lastName: 'v',
        firstName: 'j',
        updatedDate: "2017-04-27T15:04:14.483Z",
        createdDate: "2017-04-27T15:04:14.483Z" } ];
        
    var password = user[0].password;
    
    console.log(password);

    【讨论】:

      【解决方案4】:

      变量“用户”不是 JSON 数组。它是一个以单个 Javascript 对象为元素的数组。 JSON.parse(arg) 只能用于将 JSON 字符串解析为纯 Javascript 对象。话虽如此,要访问数组中的 javascript 对象,您可以这样做:

      var userData = user[0];
      

      要访问变量 userData 中的密码,您可以:

      var password = userData.password;
      

      将密码记录到控制台:

      console.log(password);
      

      【讨论】:

        【解决方案5】:

        试试这个:

        var user = [ {_id:'5902086ecbc0dd11e4870fd9',password: '$2a$08$FIpkmFT1WDZggQYyBA4CVuop6pelbKBfUEJ1/KAVIV2Si9Ho1EYhi',email: 'jv100@gmail.com',lastName: 'v',firstName: 'j',updatedDate: '2017-04-27T15:04:14.483Z',createdDate:' 2017-04-27T15:04:14.483Z' } ];
        
        var obj = user[0];
        console.log(obj.password);
        

        【讨论】:

          猜你喜欢
          • 2018-02-26
          • 2017-11-24
          • 1970-01-01
          • 1970-01-01
          • 2017-12-13
          • 2019-01-14
          • 1970-01-01
          • 2016-08-03
          • 2020-08-21
          相关资源
          最近更新 更多