Доступ к элементам внутри JSON (Node js)

Я получаю данные из базы данных 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.info("Error with connection");
    }
    else {
        var Jdata = JSON.parse(jobdata); // I then use parse to try and acces elements

      console.info(Jdata.StartTime); //but this is undefined

}

Что я здесь делаю не так?

Спасибо

Редактировать : это результат, который я получил, когда использовал - console.info (rows);

  { recordsets: 
  [ [ [Object] ] ],
  recordset: [ { StartTime: 2018-11-01T15:28:51.000Z, JobNumber: null } ],
  output: {},
  rowsAffected: [ 1 ] }

Зачем вам что-то структурировать, а затем сразу же снова разбирать? В этом нет особого смысла. Попробуйте console.info(rows) и опубликуйте структуру данных (как текст, а не как изображение)

CertainPerformance 04.12.2018 02:29

Как упоминалось в @CertainPerformance, пожалуйста, опубликуйте здесь значение, которое вы получаете из строк. Возможно, нам, возможно, не понадобится снова выполнять строковую обработку и синтаксический анализ. Что-то столь же простое, как доступ к вложенным ключам, должно дать вам ожидаемый результат.

Dinesh Pandiyan 04.12.2018 02:39

@CertainPerformance Я добавил результат, получаемый при использовании console.info (rows); без привязки

Jana Vithu 04.12.2018 02:41

@DineshPandiyan Я добавил вывод. Спасибо

Jana Vithu 04.12.2018 02:42

Похоже, что StartTime не является свойством внешнего объекта, поэтому доступ к .StartTime внешнего объекта не работает.

CertainPerformance 04.12.2018 02:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
734
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.info(`StartTime is - ${StartTime}`);
console.info(`JobNumber is - ${JobNumber}`);

спасибо за ответ, и он работает как чемпион ..! Еще раз спасибо

Jana Vithu 04.12.2018 03:47

Другие вопросы по теме