Avatar ·

如何用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对象并