【问题标题】:NODE - Get JSON Object That Has Parentheses in NameNODE - 获取名称中有括号的 JSON 对象
【发布时间】:2018-02-11 23:06:06
【问题描述】:

我想从以下 JSON 中提取值 921:

[ RowDataPacket { 'COUNT(mp3)': 921 } ]

以前,我可以使用如下代码完成此操作:results.thedesiredobject。但是,由于“mp3”周围的括号,该方法在这里似乎无效。

这是我的代码。我想将COUNT(mp3)(即921)的值添加到控制台日志,而不是整个JSON字符串。

connection.query('SELECT COUNT(mp3) FROM myverses where mp3 = "empty"', function (error, results, fields) {
  console.log('error: ' + error);
  console.log(results);

  });

【问题讨论】:

    标签: mysql json node.js


    【解决方案1】:

    解决方案是改变我的查询,如下所示:

    SELECT COUNT(mp3) as "total"...
    

    然后,我这样提取数据:

    console.log(results[0].total)
    

    【讨论】:

      【解决方案2】:

      这样的事情怎么样

      let data = { 'COUNT(mp3)': 921 }
      console.log(data['COUNT(mp3)']);
      

      【讨论】:

        【解决方案3】:

        有两种解决方案:

        1) 使用javascript获取值:

        可以使用以下代码sn -p 获取值(Live example

        const test = [ { 'COUNT(mp3)': 921 } ];
        console.log(test[0]['COUNT(mp3)']);
        

        2) 将您的查询更改如下:

        'SELECT COUNT(mp3) as mp3Count FROM myverses where mp3 = "empty"'
        

        这最终将返回列名为 mp3Count 的结果。 然后,您可以使用此 mp3Count 变量来解析 JSON 响应,如前所述

        results.mp3Count
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-07
          • 2011-10-28
          • 1970-01-01
          • 1970-01-01
          • 2017-04-06
          • 1970-01-01
          • 2021-10-20
          相关资源
          最近更新 更多