Доступ к вложенному массиву в Angular 6 - PullRequest
0 голосов
/ 11 июня 2018

Итак, я пытаюсь получить доступ к массиву объектов внутри объекта JSON.У меня есть API, с которого я получаю данные.Первоначально API был XML, и я преобразовал его в объект JSON, однако в именах элементов у меня есть черточки.(черт), но я также хочу вытащить из списка продуктов.Ниже приведен пример структуры API.

enter image description here

Цель состоит в том, чтобы получить список продуктов из API.

Благодаря PXLJoy я смог найти следующее решение.Примечание: я использую RXJS 6, поэтому все упаковано в трубу.

  public getData(): Observable<any> {
    const cjData = this.http.get('/assets/json/name.json');
    return cjData.pipe(map(res => res['cj-api'].products[0].product));
  }

1 Ответ

0 голосов
/ 11 июня 2018

Доступ к свойствам в JSON можно выполнить с помощью [] квадратных скобок , они часто используются для переменных ключей, например,

const key = 'cj-api';
const obj = response[key];

или строковых ключей, например,

const obj = response['cj-api'];

С учетом сказанного на основе вашего скриншота вы можете получить массив products, набрав:

// response is the object as shown in your screenshot.
response['cj-api'].products[0].product; // your target array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...