Ответ 1
Попробуйте это (это действительно так):
connection.query('SELECT * from pass', function(err, rows) {
res.json(rows);
var user = rows[0].userid;
var password= rows[0].password;
});
Я использую пакеты 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);
});
Я просто хочу знать, как я могу разобрать этот "строковый" объект, чтобы я мог извлекать как идентификатор пользователя, так и пароль.
Попробуйте это (это действительно так):
connection.query('SELECT * from pass', function(err, rows) {
res.json(rows);
var user = rows[0].userid;
var password= rows[0].password;
});
[{"userid": "test","password": "test"}]
Это Array
of Object
s. Итак: первый цикл над массивом, чтобы получить один объект, а затем извлечь его свойства:
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
console.log(row.userid);
}
connection.query('SELECT * from pass', function(err, rows) {
data = rows[0];
let user = data.userid;
let password= data.password;
res.json(rows);
});