web-dev-qa-db-ja.com

node.js、express.js、mysql2の「行」オブジェクトからデータを解析する方法

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とパスワードの両方を取得できることを知りたいだけです。

13
jaassi

これを試してください(これは本当に基本的です):

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

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

   });
16
Tobi
[{"userid": "test","password": "test"}]

これはArraysのObjectです。つまり、最初に配列をループして単一のオブジェクトを取得し、そのプロパティを抽出します。

for (var i = 0; i < rows.length; i++) {
    var row = rows[i];
    console.log(row.userid);
}
23
TimWolla
 connection.query('SELECT * from pass', function(err, rows) {
      data = rows[0];
     let user = data.userid;
     let password= data.password;
     res.json(rows);

   });
0
Gtm