我想知道如何使查询结果成为Node.js中的JSON响应。目前,我正在从数据库中得到一个JSON格式的结果,但是我无法访问其中的值。我的代码在下面。

connection.connect();

connection.query('select * from ttnews order by post_date DESC Limit 0,10',
function (error, results, fields) {
    if (error) throw error;
    console.log(results);
});

connection.end();
responseJSON.response = results[0].headline;
callback(null, responseJSON);

通过responseJSON.response = results[0].headline行,我得到一个错误results is undefined
任何帮助都将不胜感激。

最佳答案

对于Express 4.x,mysql db的输出行是json格式的。
例如,

sqlConnect.connection.query('SELECT * from users', function(err, rows, fields){
    if (err) {
        console.log("Querying error");
    } else {
        console.log(rows);
    }
    sqlConnect.connection.end();
});

结果是这样的
[ RowDataPacket {
    id: 1,
    username: 'Dani',
    password: '1q2w3e4r',
    verified: 0 } ]

所以现在可以使用获取单个值。接线员。例如,console.log(行[0].username)将记录值“Dani”

关于mysql - 将我的数据库结果更改为JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45829100/

10-16 09:27