كيفية تحويل كائن JSON إلى مثيل من كلاس TypeScript؟
مرحباً بالجميع! أنا مبتدئ في TypeScript وقد واجهت مشكلة أثناء العمل مع بيانات JSON. لدي كلاس User يحتوي على حقول وطرق:
```typescript
class User {
constructor(
public id: number,
public name: string,
public email: string,
public createdAt: Date
) {}
getDisplayName(): string {
return `${this.name} (${this.email})`;
}
}
```
أحصل على بيانات من API بتنسيق JSON:
```typescript
const jsonData = '{"id": 1, "name": "إيفان", "email": "ivan@example.com", "createdAt": "2024-01-15T10:30:00Z"}';
const parsedData = JSON.parse(jsonData);
```
عندما أحاول استخدام parsedData كمثيل من User، لا أستطيع استدعاء الطريقة getDisplayName()، لأن TypeScript لا ينشئ كائن كلاس حقيقي. parsedData هو مجرد كائن عادي بنفس الحقول.
لقد جربت القيام بذلك:
```typescript
const user: User = JSON.parse(jsonData);
```
لكن هذا فقط يجعل TypeScript يعتقد أن الكائن يطابق النوع،