如何以角度解析json中的数据对象

朱利亚津

我刚刚开始使用 Angular 6。

我跟着英雄教程,然后用真正的本地API替换了它

现在,我有锦标赛,而不是英雄

但是我的 API 不是返回一系列锦标赛,而是将其包装到一个数据对象中,因此我可以添加元数据。

锦标赛.service.ts

getTournaments(): Observable<Tournament[]> {
    this.messageService.add('TournamentService: fetched tournaments');
    return this.http.get<Tournament[]>(this.tournamentsUrl)
      .pipe(
        tap(tournaments => this.log(`fetched tournaments`)),
        catchError(this.handleError('getTournaments', []))
      );
  }

锦标赛.ts

export class Tournament {
  id: number;
  user: string;
  date: string;
  name: string;
  numCompetitors: number;
}

我从 API 获得的锦标赛:

"data": [
{
"id": 1,
"user": "[email protected]",
"date": "2018-06-13",
"name": "Fake Tournoi",
"numCompetitors": 86
},
{
"id": 2,
"user": "[email protected]",
"date": "2018-06-06",
"name": "Noel Kerluke",
"numCompetitors": 0
},
]

我应该怎么做才能始终从数据中提取我的数组?

灰烬朋友

如果锦标赛是一个对象,那么在您订阅服务方法的组件中,您必须像这样获取数据数组 tournaments["data"]

getTournaments(): void {
    this.tournamentService.getTournaments()
    .subscribe(tournaments => this.tournaments= tournaments["data"]);
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章