假设我们从后端得到以下结果:
{
idPerson:string,
name: string
}
现在我有一个typescript类:
class Option {
id: string;
text: string;
}
所以,后台给了我以下信息:
"[{idperson: "1", name: "foo"}, {idperson:"2", name:"bar"}]"
当我从一个角度http请求接收到答案时,我正在执行以下操作:
let options: any[] = [];
options = JSON.parse(response);
所以它给了我:
[{idperson: "1", name: "foo"}, {idperson:"2", name:"bar"}]
但我真的想把密钥从后端映射到前端,并获得:
[{id: "1", text: "foo"}, {id:"2", text:"bar"}]
我如何绘制它们?
最佳答案
let options: Option[];
options = JSON.parse(response).map(item => ({
id: item.idPerson,
text: item.name
}));
如果您不需要option类中的任何方法,我将创建一个接口。
interface Option {
id: string;
text: string;
}
let options: Option[];
options = JSON.parse(response).map(item => ({
id: item.idPerson,
text: item.name
}));
如果您确实需要option类上的方法:
class Option {
constructor(public id: string, public text: string) {}
public doSomething() {
console.log(this.id)
}
}
let options: Option[];
options = JSON.parse(response).map(item => new Option(item.idPerson, item.name));
关于json - 将后端的属性映射到前端的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40362033/