如何解析 node.js、express.js、mysql2 中“rows”对象的数据

Posted

技术标签:

【中文标题】如何解析 node.js、express.js、mysql2 中“rows”对象的数据【英文标题】:How to parse the data from "rows" object in node.js,express.js,mysql2 【发布时间】:2014-04-18 09:16:38 【问题描述】:

我正在使用 node、express、mysql2 包。当我使用 console.log(rows) 时,它给了我以下输出:

["userid": "test","password": "test"]

这是我的代码:

var application_root = __dirname,
express = require("express"),
mysql = require('mysql2');
path = require("path");
var app = express();

var connection = mysql.createConnection(
host : 'localhost',
user : 'root',
password : '123',
database: "bbsbec"
 );
app.configure(function () 
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(application_root, "public")));
app.use(express.errorHandler( dumpExceptions: true, showStack: true ));
);

connection.query('SELECT * from pass', function(err, rows) 
     res.json(rows);
     console.log(rows);
   );

我只想知道如何解析这个“行”对象,以便我可以检索用户 ID 和密码。

【问题讨论】:

【参考方案1】:
["userid": "test","password": "test"]

这是Array 中的Objects。所以:首先遍历数组以获取单个对象,然后提取其属性:

for (var i = 0; i < rows.length; i++) 
    var row = rows[i];
    console.log(row.userid);

【讨论】:

【参考方案2】:

试试这个(这真的很基本):

   connection.query('SELECT * from pass', function(err, rows) 
     res.json(rows);

     var user = rows[0].userid;
     var password= rows[0].password;

   );

【讨论】:

请记住,这只适用于结果集中的一行。如果还有更多,请使用第二个答案!【参考方案3】:

 connection.query('SELECT * from pass', function(err, rows) 
      data = rows[0];
     let user = data.userid;
     let password= data.password;
     res.json(rows);

   );

【讨论】:

以上是关于如何解析 node.js、express.js、mysql2 中“rows”对象的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Express JS/Railway JS (Node.JS) 生成 JSON

如何在 Node.js / Express.js 中将中间件放在它自己的文件中

会话如何在 Express.js 和 Node.js 中工作?

Node.js / Sequelize.js / Express.js - 如何插入多对多关联? (同步/异步?)

如何在超级终端中停止运行 Node.js (Express) 服务器

每次在 Node.js (Express.js) 中发出 API 请求之前,如何简化 Fetching Auth token?