Доступ к значению массива JSON с числовым именем

У нас есть следующая структура JSON

введите здесь описание изображения

Я пытаюсь получить доступ к значениям массива данных. Я заметил, что имена значений - это числа, и каким-то образом при попытке определить логику они не распознаются. Все последующие имели ошибки.

series[0].data[0].0
series[0].data[0].0[0]
series[0].data[0]."0"
series[0].data[0].'0'

Сообщение об ошибке: "участник '0' не найден"

(замена последней части логики, одна и та же ошибка при каждой попытке)

Не могли бы вы помочь мне выяснить, есть ли проблема с sytanx или что-то еще?

Это первая часть только необработанные фиктивные данные

{
  "request": {
    "command": "dummy",
    "series_id": "dummy"
  },
  "series": [
    {
      "series_id": "dummy",
      "name": "dummy",
      "units": "dummy",
      "f": "W",
      "unitsshort": "dummy",
      "description": "dummy",
      "copyright": "dummy",
      "source": "dummy",
      "start": "19900406",
      "end": "20180803",
      "updated": "2018-08-08T14:01:44-0400",
      "data": [
        [
          "20180803",
          2.104
        ],
        [
          "20180727",
          2.11
        ],
        [
          "20180720",
          2.042
        ],
     ...

Кстати, я использую IBM Workload Scheduler для доступа к API для получения этих данных. Инструмент framework позволяет мне указать свойства JSON, которые я хочу получить из результатов. Если я попытаюсь получить все значение первого массива, мне это удастся

series[0].data[0]

JSONResult: [20180803, 2.104]


ОБНОВИТЬ

Добавление экранов из IBM Workload Scheduler

введите здесь описание изображения

введите здесь описание изображения


person Juan Ignacio Durante    schedule 15.08.2018    source источник
comment
Попробуйте так series[0].data[0][0].   -  person Sookie Singh    schedule 15.08.2018
comment
Вам просто не хватает речевых знаков? Если есть объект с атрибутом 1, обращайтесь к нему как myObj[1]. Если это массив, и вам нужен элемент с индексом 1; мойАрр[1]. Если вы хотите перебирать числовые атрибуты объекта, вы можете установить счетчик и выйти из цикла на undefined, получив доступ к своим элементам как myObj[+counter] (непроверено)   -  person Scott Allen    schedule 15.08.2018
comment
Так что... серия[0].data[0][0]   -  person Scott Allen    schedule 15.08.2018
comment
@ScottAllen тот же результат, что и для series[0].data[0][0]... JSONResult:[20180803, 2.104]   -  person Juan Ignacio Durante    schedule 15.08.2018


Ответы (1)


Как было сказано в комментариях, если вы хотите получить значение 20180803, вы должны использовать series[0].data[0][0]. Вот пример:

let theData = {
  "request": {
    "command": "dummy",
    "series_id": "dummy"
  },
  "series": [{
    "series_id": "dummy",
    "name": "dummy",
    "units": "dummy",
    "f": "W",
    "unitsshort": "dummy",
    "description": "dummy",
    "copyright": "dummy",
    "source": "dummy",
    "start": "19900406",
    "end": "20180803",
    "updated": "2018-08-08T14:01:44-0400",
    "data": [
      [
        "20180803",
        2.104
      ],
      [
        "20180727",
        2.11
      ],
      [
        "20180720",
        2.042
      ]
    ]
  }]
}

console.log(theData.series[0].data[0][0])

person Andrew Lohr    schedule 16.08.2018
comment
используя series[0].data[0][0], вы все еще получаете ту же ошибку "member '0' not found"? Вы дважды проверили, что значение ключа data на самом деле является массивом массивов? - person Andrew Lohr; 17.08.2018
comment
Используя этот код, я получаю позицию всего массива (20180803, 2.104). Если вы проверите логику, которую я вставил, насколько я понимаю, серия - это массив с уникальным объектом, в свойстве данных массив (n позиций) массивов (2 позиции). - person Juan Ignacio Durante; 17.08.2018