提问人:Zharin 提问时间:5/29/2023 更新时间:5/30/2023 访问量:120
如何在没有任何外部库的情况下将 JSON 对象转换为 TypeScript 类实例?[复制]
How can I cast a JSON object to a TypeScript class instance without any external library? [duplicate]
问:
我正在尝试像以下示例一样转换一个JSON对象:
class Person {
constructor(
public firstName,
public lastName
) {}
function getName() {
return this.firstName + “ “ + this.lastName;
}
}
目标是解析如下所示的 JSON:
{
firstName: “Max“,
lastName: “Mustermann“
}
添加到上述类的实例以访问所有属性和方法。
有没有一种简单的方法可以创建一个函数,使这种类型的 JSON/类能够实现这样的功能? 嵌套对象也应该是可能的。
我可以为每个不同的类编写一个工厂方法,但应该有更好的方法来获得这样的功能。
答:
1赞
Amit Kumar Singh
5/29/2023
#1
使用 Object.assign
像这样创建你的类,观察构造函数
class Person {
public firstName: string;
public lastName: string;
public constructor(init?: Partial<Person>) {
Object.assign(this, init);
}
function getName() {
return this.firstName + “ “ + this.lastName;
}
}
将 json 传递到此构造函数中
let person = new Person({firstName: "A", lastName: "B" });
console.log(person);
评论