gpt4 book ai didi

angular - typescript :将 json 从 api 调用转换为 Array
转载 作者:行者123 更新时间:2023-12-03 16:48:23 30 4
gpt4 key购买 nike

从 API,我收到下一个 json:

[{
"id: "0",
"name_surname": "John Smith",
"age": 33,
"profile__image": "..."
},{
"id: "1",
"name_surname": "Juan García",
"age": 32,
"profile__image": "..."
}]
我在 typescript 中有下一节课:
export class Employee {
public Id: string = null;
public NameSurname: string = null;
public Age: number = 0;
public ProfileImage: string = null;
}
我想返回 Array<Employee> api 调用的结果。
正如您在 api 调用中看到的那样,我收到了由下划线 (_) 分隔的属性的数组。如何在没有下划线的情况下转换为标准类?
谢谢

最佳答案

Demo将构造函数添加到您的 Employee 模型

 export class Employee {
public Id: string = null;
public NameSurname: string = null;
public Age: number = 0;
public ProfileImage: string = null;

constructor(param:any){
this.Id=param.id;
this.NameSurname=param.name_surname,
this.Age=param.age,
this.ProfileImage=param.profile__image
}

}
然后在组件映射数据结果到您的模型
result:Employee[];

this.result=this.data.map(x=> new Employee(x));
Demo2如果您不想使用构造函数,那么您可以在模型中定义函数。
export class Employee {
public Id: string = null;
public NameSurname: string = null;
public Age: number = 0;
public ProfileImage: string = null;

constructor(){ }

mapObj(param:any){
this.Id=param.id;
this.NameSurname=param.name_surname,
this.Age=param.age,
this.ProfileImage=param.profile__image
return this;
}
}
然后你可以调用
this.result=this.data.map(x=>  new Employee().mapObj(x));

关于angular - typescript :将 json 从 api 调用转换为 Array<object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62969453/

30 4 0