如何以角度将 JSON 对象数组转换为 Observable 数组
Posted
技术标签:
【中文标题】如何以角度将 JSON 对象数组转换为 Observable 数组【英文标题】:How to convert JSON Array of Objects to Observable Array in angular 【发布时间】:2020-08-01 21:55:29 【问题描述】:我正在从 Angular 调用一个 rest API,rest api 返回 JSON 对象数组中的数据,如下所示
现在我正在尝试将其转换为我的模型类数组,但没有任何进展,请您指导我。
我的模型课
我的服务文件
这里它在地图上出现错误,我不知道如何将其转换为我的模型类数组以在表格中显示它
【问题讨论】:
您是否在使用的文件中导入了地图运算符?import map from 'rxjs/operators';
【参考方案1】:
解决了。
由于我直接获取对象数组作为响应,因此我不需要转换它并使用接口。所以这是我的正确代码
fetchAllGamesRecord() : Observable<Fifa[]>
const fifaUrl = `$this.baseUrl/fetchAllGamesRecord`;
return this.httpClient.get<Fifa[]>(fifaUrl);
这个函数是这样调用的
this.fifaService.fetchAllGamesRecord().subscribe(
data =>
this.allGameRecord = data;
console.log(`Data = `+data);
);
【讨论】:
【参考方案2】:您可以在调用 fetchAllGamesRecord 时这样做
fetchAllGamesRecord().subscribe( (response: Fifa[]) =>
// do something
Fifa 是接口而不是类
【讨论】:
没看懂,能不能详细解释一下或者写个伪代码【参考方案3】:在 Spring 框架中,Fifa[] 在 REST 调用中也不起作用,我们需要将它放在另一个类中,如下所示,我认为这会起作用。
export class FifaWrapper
wrapper: Fifa[];
并且也在 Observable 中使用这个类
fetchAllGamesRecord(): Observable<FifaWrapper>
... do you handling here
【讨论】:
以上是关于如何以角度将 JSON 对象数组转换为 Observable 数组的主要内容,如果未能解决你的问题,请参考以下文章