首页 > 解决方案 > 获取 API 响应并将数据存储到数组中

问题描述

我正在尝试从我的 Angular 应用程序调用 API 并使用数据返回到我的前端。我得到了响应,但我不确定如何从 JSON 中获取特定字段并将它们存储到数组中

 dataList;
 apiUrl = 'GetDatafromSys?prj=123;

 constructor(service: DataService) {
 service.get<any>(this.apiUrl).subscribe(x => {this.dataList = (JSON.stringify(x)); });
}

dataList像 JSON 一样回来

 [
  {
    "Name": "Jack",
    "EmpNo":"123"
  },
  {
   "Name": "Joe",
    "EmpNo":"456"
  }
 ]

我不确定如何Name从 JSOn 获取并存储在数组中,以便可以将其用作下拉列表的数据源

  <dx-select-box [dataSource]=""

标签: angulartypescriptangular7

解决方案


您可以为您的员工创建一个界面:

export interface Employee{
Name:string;
EmpNo:number;
}

现在,您可以修改您的构造函数,为您的员工界面消除“任何”,并将此类型添加到您的数据列表中。

 dataList: Employee[];
 apiUrl = 'GetDatafromSys?prj=123;

 constructor(service: DataService) {
 service.get<Employee[]>(this.apiUrl).subscribe(x => {this.dataList = x }); // here you assign your results to your datalist array
}

现在,您可以通过访问它的位置来获取任何元素的属性。或者使用 foreach 函数来获取任何您需要的名称。例如:

public print(){
this.dataList.forEach(element => {
  console.log(element.Name);
});

}

希望这能让您了解如何存储您的信息。


推荐阅读