首页 > 解决方案 > 在 Angular 6 中访问嵌套数组

问题描述

所以我试图访问 JSON 对象中的对象数组。我有一个从中获取数据的 API。API 最初是一个 XML,我将其转换为 JSON 对象,但是我的元素名称中有破折号。(当),但我也想从产品列表中提取。以下是 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));
  }

标签: javascriptangular6

解决方案


在 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

推荐阅读