Ön uç uygulamaları ve Node.js hizmetlerine yönelik JSON örneklerinden tür açısından güvenli arayüzler ve türler oluşturmak için bu JSON'dan TypeScript'e oluşturucuyu kullanın.
Adım 1 – JSON örneğini yapıştırın
- Temsili bir JSON nesnesini veya dizisini sol düzenleyiciye yapıştırın.
- Türlerin doğru bir şekilde çıkarılabilmesi için iç içe geçmiş nesneler, diziler ve null yapılabilir alanlar ekleyin.
- JSON'u bir dosyadan, URL'den veya örnek verilerden yüklemek için
Import kullanın.
Adım 2 – TypeScript oluşturma seçeneklerini seçin
- Modelinize uygun bir
Root Type Name ayarlayın (örneğin Root). - Kod tabanınıza uygun bir boş işleme stratejisi (
Optional (?) vs Union (| null)) seçin. - Çıktı için
interfaces veya type takma adlarından hangisine ihtiyacınız olduğuna karar verin.
Adım 3 – Oluşturulan kodu inceleyin
- Alan adlarını, türlerini ve dizilerin/nesnelerin nasıl modellendiğini kontrol edin.
- Varsa
Root Type Name, boş değer işleme ve çerçeveler gibi seçenekleri ayarlayın. - Bir alan yanlış çıkarsa, örnek JSON'unuzu değiştirin ve yeniden oluşturun.
Adım 4 – Oluşturulan türleri kullanın
- Çıktıyı projenize yapıştırın ve türler modülünüzden dışa aktarın.
- API yanıtları, DTO'lar ve çalışma zamanı ayrıştırma sınırları için türleri kullanın.
- İstemcileri senkronize tutmak için JSON yükünüz değiştiğinde yeniden oluşturun.
Adım 5 – Kopyalayın veya indirin
- Çıktıyı projenize kopyalayın veya dosya olarak indirin.
- Kod stilinize uyacak şekilde biçimlendiricinizi/linterinizi çalıştırın.
- Diliniz gerektiriyorsa JSON ayrıştırma/serileştirme kitaplıklarını ekleyin.
Örnek çıktı (basitleştirilmiş)
// JSON girişi
{
"id": 123,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"roles": ["admin", "editor"],
"metadata": { "plan": "pro" },
"createdAt": "2024-03-01T10:15:00Z",
"score": 99.5,
"notes": null
}
// Generated TypeScript types (simplified)
export interface Metadata {
plan: string;
}
export interface Root {
id: number;
name: string;
email: string | null;
active: boolean;
roles: string[];
metadata: Metadata;
createdAt: string;
score: number;
notes: null;
}