Javascript 节点json请求堆栈

Javascript 节点json请求堆栈,javascript,node.js,Javascript,Node.js,大家好,我知道我的问题很简单,我是新使用json的 var mysql = require('mysql'); function myCon(sql){ var con = mysql.createConnection({ host: "127.0.0.1", port: "3306", user: "root", password: "xxxxxx", database: "myDataBase", })

大家好,我知道我的问题很简单,我是新使用json的

var mysql = require('mysql');
function myCon(sql){

var con = mysql.createConnection({
        host: "127.0.0.1",
        port: "3306",
        user: "root",
        password: "xxxxxx",
        database: "myDataBase",
    });
     // here i'm passing sql query  as var sql
con.query(sql, function(err, rows) {
    if (err) { throw err }
    else {
           console.log(rows);
           // here I want my response to be json response eg { key:value}
       }
 })
con.end();
}

module.exports.con = myCon;
结果是

[ RowDataPacket { countryId: 1, countryName: 'N/A' },
  RowDataPacket { countryId: 2, countryName: 'UK' },
  RowDataPacket { countryId: 3, countryName: 'USA' },
  RowDataPacket { countryId: 4, countryName: 'UAE' } ]
我希望得到的答复是:

  { countryId: 1, countryName: 'N/A' },
  { countryId: 2, countryName: 'UK' },
  { countryId: 3, countryName: 'USA' },
  { countryId: 4, countryName: 'UAE' } 
不带行数据包 并将其重新发送到ejs视图

[ 
  RowDataPacket { countryId: 1, countryName: 'N/A' },
  RowDataPacket { countryId: 2, countryName: 'UK'  },
  RowDataPacket { countryId: 3, countryName: 'USA' },
  RowDataPacket { countryId: 4, countryName: 'UAE' } 
]
这就是控制台显示结果的方式,因为从MySQL返回的数据类型是
RowDataPacket
,但实际上您得到的只是您想要的对象,您不需要做任何事情

如果你真的想摆脱类型,你可以这样做

con.query(sql, function(err, rows) {
    if (err) { 
        throw err 
    } else {
        var str = JSON.stringify(rows);
        rows = JSON.parse(str);

        console.log(rows);
    }
});
这就是控制台显示结果的方式,因为从MySQL返回的数据类型是
RowDataPacket
,但实际上您得到的只是您想要的对象,您不需要做任何事情

如果你真的想摆脱类型,你可以这样做

con.query(sql, function(err, rows) {
    if (err) { 
        throw err 
    } else {
        var str = JSON.stringify(rows);
        rows = JSON.parse(str);

        console.log(rows);
    }
});

您的结果看起来像是无效的javascript,这真的是您在日志中得到的吗?是的,我正在从其他js文件var country=mysql.con('select countryId,countryName from country')传递sql;您正在使用哪个MySQL模块?您的结果看起来像是无效的javascript,这真的是您在日志中得到的吗?是的,我正在从其他js文件var country=MySQL.con('select countryId,countryName from country')传递sql;您使用的是哪个MySQL模块?结果如何undefined@HussainAli-像上面那样尝试谢谢Deneo我明白了这一点,现在我可以将数据作为json传递给视图,使用for each with key和value返回结果undefined@HussainAli-像上面那样尝试谢谢Deneo我明白了这一点,所以现在我可以使用for each键和价值