如何从json结果中获取属性

问题描述 投票:0回答:3

我有一个JSON结果女巫,它只包含一个数组:

{
  id: "5", 
  client: "8", 
}
id: 5
client: 8

我正在通过执行此功能来访问它:

getClient(url: string){
  this.clientService.client(this.clientUrl).subscribe((info: ClientInfo[]) => {
    console.log(info);
    console.log(info[0].id);
  });
}

。client在哪里,我是这样的:

public client(url: string): Observable<ClientInfo[]> {
    return this.httpClient.get<ClientInfo[]>(url);
}

数组:

export class ClientInfo{
   id: number;
   client: number;
}

我的错误信息是“无法获取未定义的ID”,有没有办法获取此数组的ID,因为它是单个数组?宝马我尝试了info.id,但它不允许我访问它。

angular typescript angular7
3个回答
0
投票

要访问示例中的信息,只需使用info.id并获取值。

如果数据实际上位于数组中,则可以使用您的选项。输入必须看起来像这样:

let infoArray = [
  {
    id: "5", 
    client: "8" 
  }
];
infoArray[0].id;   // "5"

0
投票

当结果为一个而不是多个时,您可能与后端有不同的答案。

与此同时,您可以像这样访问您的对象:

const item: ClientInfo = info.length ? item[0] : item;

这将确保获得第一个结果或唯一的结果。


-1
投票

如果是httpClient调用,则必须像这样指定返回的类型,以确保没有错误

return this.http.get<ClientInfo>(url);

或使用任何

return this.http.get<any>(url);

如果需要,您也可以使用括号符号

info[0]['id']
© www.soinside.com 2019 - 2024. All rights reserved.