如何用JSON数据初始化TypeScript对象?
大家好!我刚开始学习TypeScript,遇到了一个看似简单但找不到优雅解决方案的问题。
我有一个API,返回包含用户数据的JSON。以下是服务器返回的示例:
```typescript
const jsonData = {
"id": 42,
"name": "伊万·彼得罗夫",
"email": "ivan@example.com",
"isActive": true,
"createdAt": "2024-03-15T10:30:00Z"
};
```
我为这个对象创建了接口:
```typescript
interface User {
id: number;
name: string;
email: string;
isActive: boolean;
createdAt: Date;
}
```
问题在于,当我尝试直接将JSON赋值给User类型的对象时:
```typescript
const user: User = jsonData; // 错误!createdAt是字符串,不是Date
```
TypeScript报错,因为JSON中的`createdAt`是字符串,而我在接口中指定了`Date`类型。我知道可以使用`any`,但这是不好的实践。
如何正确初始化TypeScript对象并