【问题标题】:How to convert JSON Array of Objects to Observable Array in angular如何以角度将 JSON 对象数组转换为 Observable 数组
【发布时间】:2020-08-01 21:55:29
【问题描述】:

我正在从 Angular 调用一个 rest API,rest api 返回 JSON 对象数组中的数据,如下所示

现在我正在尝试将其转换为我的模型类数组,但没有任何进展,请您指导我。

我的模型课

我的服务文件

这里它在地图上出现错误,我不知道如何将其转换为我的模型类数组以在表格中显示它

【问题讨论】:

  • 您是否在使用的文件中导入了地图运算符? import { map } from 'rxjs/operators';

标签: json angular typescript observable httpclient


【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多