[英]RxJs- Observable - How to fetch data from JSON Object
我有一个如下所示的JSON响应。我想以两个单独的数组(例如[abc,xyz]和[aa,bb])从此可观察对象获取数据。 是否有可能使用rx observables map和switchmap在相同的observable中获得两个数组。
this.data$ = Observable.of({
"data": [
{
"firstname": "abc",
"lastname": "aa"
},
{
"firstname": "xyz",
"lastname": "bb"
}
]
}) .map(res => res.data)
.switchMap(dataArray => {
return Observable.from(dataArray);
})
.map((arrayResp: any) => {
return ( arrayResp.firstname);
}).toArray()
在这里,我只能得到一个数组。 是否有可能仅通过此方法获得两个数组。
您可以简单地使用arrays map函数:
.pipe(map(res => res.data),
map(a => {
return {
firstnames: a.map(_ => _.firstname),
lastnames: a.map(_ => _.lastname)
}
}));
您有json字符串,因此您需要在switchMap
方法中这样做
.switchMap(dataArray => {
return Observable.from(JSON.parse( dataArray));
})
或者你也可以这样做
this.data$ = Observable.of(JSON.parse(`{
"data": [
{
"firstname": "abc",
"lastname": "aa"
},
{
"firstname": "xyz",
"lastname": "bb"
}
]
}`).subscribe(res=> console.log(res.data));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.