gpt4 book ai didi

json - Angular 2+ http get() JSON 数据。无法过滤数据

转载 作者:可可西里 更新时间:2023-11-01 17:27:00 26 4
gpt4 key购买 nike

我有一个 service.ts,我在其中使用 get() 方法 (http) 从本地 JSON 文件获取数据。它工作正常。

getMusic() {
return this.http.get('assets/music.json')
.map((res:Response) => res.json())

在我的课上我有我的'订阅':

ngOnInit() {this.musicService.getMusic().subscribe(
data => { this.music = data.music}
);
}

我的 JSON 文件如下所示:

{
"music" : [
{
"no": 11,
"name": "Music 1",
}, ...... aso....

一切都很完美。那么现在我正在尝试过滤我的数据,所以它只显示 no=11 的音乐。

我有这个导入:

//import 'rxjs/add/operator/map';
//import 'rxjs/add/operator/filter';
import 'rxjs/Rx';

我试过很多东西。包括过滤数字而不是字符串,使用 == 而不是 ===,将 .filter 放在 .map 内部或外部。当我尝试这个时,我根本没有收到任何结果。我没有收到任何错误,只是没有结果:

getMusic() {
return this.http.get('assets/music.json')
.map((res:Response) => res.json())
.map(x => x.filter(y => y.name === 'Music 1'));
}

最佳答案

您的 filter 运算符函数有误。它应该过滤 music

getMusic() {
return this.http.get('assets/music.json')
.map((res:Response) => res.json())
//filter on `music` object instead of `x` directly
.map(x => x.music.filter(y => y.name === 'Music 1'));
}

关于json - Angular 2+ http get() JSON 数据。无法过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45360433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com