Доступ к элементам внутри JSON (Node js)
Я получаю данные из базы данных MS SQL как набор записей. Я пытаюсь получить доступ к значениям в наборе записей, однако не могу получить к нему доступ, потому что он находится внутри набора записей. Ниже приведен пример вывода, который я получаю из базы данных. Результат примера показывает выходные данные отладчика.
Я хочу получить доступ к таким элементам, как время начала, номер задания и т. Д. Внутри набора записей. Как бы я это сделал?
b.executeSql(sql, function (rows, err) {
var jobdata = JSON.stringify(rows); //this is where i get the recordsets
if (err) {
// httpMsgs.show500(req, resp, err);
console.log("Error with connection");
}
else {
var Jdata = JSON.parse(jobdata); // I then use parse to try and acces elements
console.log(Jdata.StartTime); //but this is undefined
}
Что я здесь не так делаю?
Спасибо
Изменить: это вывод, который я получил, когда я использовал - console.log(rows);
{ recordsets:
[ [ [Object] ] ],
recordset: [ { StartTime: 2018-11-01T15:28:51.000Z, JobNumber: null } ],
output: {},
rowsAffected: [ 1 ] }
1 ответ
Решение
Предполагая, что объект строки всегда будет иметь recordset
массив со значениями, вот как вы получите к нему доступ
const StartTime = rows.recordset[0].StartTime;
const JobNumber = rows.recordset[0].JobNumber;
rows = {
recordsets: [
[
// [Object]
]
],
recordset: [{
StartTime: '2018 - 11 - 01 T15: 28: 51.000 Z',
JobNumber: null
}],
output: {},
rowsAffected: [1]
};
const StartTime = rows.recordset[0].StartTime;
const JobNumber = rows.recordset[0].JobNumber;
console.log(`StartTime is - ${StartTime}`);
console.log(`JobNumber is - ${JobNumber}`);