如何将JSON对象转换为TypeScript类实例?
大家好!我是TypeScript新手,在处理JSON数据时遇到了问题。我有一个User类,包含字段和方法:
```typescript
class User {
name: string;
age: number;
email: string;
constructor(name: string, age: number, email: string) {
this.name = name;
this.age = age;
this.email = email;
}
isAdult(): boolean {
return this.age >= 18;
}
}
```
当我通过fetch从服务器获取JSON格式数据时:
```typescript
const response = await fetch('/api/user');
const jsonData = await response.json();
// jsonData = { name: 'Иван', age: 25, email: 'ivan@example.com' }
```
我尝试将其转换为User类型:
```typescript
const user: User = jsonData as User;
```
但之后当我调用user.isAdult()方法时,TypeScript没有报错,但在运行时我得到"user.isAdult is not a function"。我明白as User只是对编译器的类型断言,但实际上该对象并不是