访问 Angular 中的嵌套数组 6

Access a nested array in Angular 6

所以我试图访问 JSON 对象中的对象数组。我有一个 API,我正在从中获取数据。 API 最初是一个 XML,我将它转换为一个 JSON 对象,但是我的元素名称中有破折号。 (dang),但我也想从产品列表中提取。下面是 API 结构的示例。

目标是从 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));
  }

访问 JSON 中的属性可以使用 [] square brackets 完成,这些通常用于变量键,即

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