首页 > 解决方案 > 如何从角度打字稿中的数组对象获取数据?

问题描述

我正在调用一个rest api,它以对象格式的json数组返回数据,如下所示 在此处输入图像描述

现在,当我从我的 typecsript 代码中调用这个 rest api 并在收到的控制台数据上打印时,我得到了这个

gameRecord: Fifa = new Fifa();// 这是在 ts 类中全局定义的

this.fifaService.fetchGameRecord(gameId).subscribe(
          data => {
            this.gameRecord = data;
            console.log(this.gameRecord);
          }
        );

在此处输入图像描述

现在我想从这个对象中获取 wonBy、kashScore 属性值。

但是我在控制台上收到未定义的错误,我不知道为什么

gameRecord: Fifa = new Fifa();


this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data;
        console.log(this.gameRecord.kashScore);
      }
    );

这里代码定义,

export class Fifa {

    gameId: number;
    kashScore: number;
    samScore: number;
    wonBy: string;
    createUserId: number;
    lastModifiedUserId: number;
    creationDate: Date;
    lastModifiedDateTime: Date;
    sessionId: number;
}

还有我的服务文件代码

fetchGameRecord(gameId: number): Observable<Fifa>{
    const fifaUrl = `${this.baseUrl}/getGameDetail/${gameId}`;
    return this.httpClient.get<Fifa>(fifaUrl);
  }

标签: javascriptangulartypescriptobservablehttpclient

解决方案


游戏记录:国际足联 = 新国际足联();

this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data[0]; // <= data is an array
        console.log(this.gameRecord.kashScore);
      }
    );

推荐阅读