在下面的示例中,我有一个lst
之类的json,我想将其映射到MyModel
。
interface MyModel {
id: number;
isRequired : boolean;
,...
}
let lstByModel: Array<MyModel> = [];
// lst comes from API
let lst:any[] = [
{
"id":"10",
"isRequired":"false"
}
];
lstByModel = lst; // How to map lst to MyModel (lstByModel)?
console.log(lstByModel); // it shows { id : "10" , isRequired : "false"} but I need { id : 10, isRequired : false } How can I do that?
提前致谢。
最佳答案
Typescript中的types
或iterfaces
仅是编译时。因此,您的lst
不会自动转换为任何其他type
。
您需要手动将字符串映射到数字。就你而言
lstByModel = lst.map(lstItem=>{
return {
id:parseInt(lstItem.id), // manually changing string to number
isRequired: lstItem.isRequired=="true" //parsing boolean
}
})
关于javascript - 使用 typescript 将对象转换到模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54849109/