访问JSON(Node js)内部的元素

时间:2018-12-04 01:21:03

标签: javascript node.js json recordset mssql-jdbc

我正在从ms sql数据库检索数据作为记录集。我试图访问记录集中的值,但是无法访问它,因为它包含在记录集中。 以下是我从数据库获得的输出示例。示例结果显示了调试器的输出。 https://i.stack.imgur.com/hfVEC.jpg

我想访问记录集内的元素,例如开始时间,工作编号等。我该怎么办?

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 个答案:

答案 0 :(得分:1)

假设rows对象将始终具有带有值的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}`);