将我的数据库结果更改为JSON

时间:2017-08-23 01:06:27

标签: mysql json node.js

我想知道如何在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

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

试试此代码

var express = require('express');
var app = express();
var mysql = require('mysql');
var readline = require('readline');
var con = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'cmd'//your database name
});
con.connect(function(err){
if(err){
console.log('Error Connecting to Database');
}
});
app.get('/', function(req, res){
con.query('SELECT * FROM ttnews order by post_date DESC Limit 0,10',function(error, data){
        if(error) {
            console.log(error)
        }else{
            res.json(data)
        } 
    }); 
});
app.listen(3000,function(){
    console.log('server listening on 3000');
});

希望这会有所帮助......

答案 1 :(得分:0)

使用 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(rows [0] .username)将记录值' Dani'