Como converter um objeto JSON em uma instância de classe TypeScript?
Olá a todos! Sou novo em TypeScript e encontrei um problema ao trabalhar com dados JSON. Tenho uma classe User que contém campos e métodos:
```typescript
class User {
constructor(
public id: number,
public name: string,
public email: string,
public createdAt: Date
) {}
getDisplayName(): string {
return `${this.name} (${this.email})`;
}
}
```
Recebo dados de uma API no formato JSON:
```typescript
const jsonData = '{"id": 1, "name": "Иван", "email": "ivan@example.com", "createdAt": "2024-01-15T10:30:00Z"}';
const parsedData = JSON.parse(jsonData);
```
Quando tento usar parsedData como uma instância de User, não consigo chamar o método getDisplayName(), porque o TypeScript não cria um objeto de classe real. parsedData é apenas um objeto comum com os mesmos campos.
Tentei fazer assim:
```typescript
const user: User = JSON.parse(jsonData);
```
Mas isso apenas faz o TypeScript pensar que o objeto corresponde ao tipo,