javascript - 在 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));
}
解决方案
在 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
推荐阅读
- c++ - 我的所有方法都出现错误 c2084,但每种方法只有一个主体
- vue.js - VUEJS - 如何将文本区域动态绑定到数据表字段
- java - 已解决:Android Studio:在片段中实现回收视图时出错
- javascript - 画布上的多个弹跳球 - Javascript
- python - 两个数组的累积交集的快速算法
- angular - 如何在同时迭代的表中使用表单组和表单数组?我不知道如何在模板中处理它
- elasticsearch - 加快弹性搜索 more_like_this 查询
- r - R功能建议
- html - 具有有效 href 值的标记在单击时不会路由
- python - 数据框:比较列值和下面的一行