NODE - 获取名称中包含括号的JSON对象

时间:2018-02-11 23:06:06

标签: mysql json node.js

我想从以下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);

  });

3 个答案:

答案 0 :(得分:0)

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

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

然后,我提取了这样的数据:

console.log(results[0].total)

答案 1 :(得分:0)

这样的事情

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

答案 2 :(得分:0)

有两个解决方案:

1)使用javascript获取值:

您可以使用以下代码段来获取值(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