Ücretsiz JSON'dan TypeScript'e Dönüştürücü
Herhangi bir JSON nesne veya dizisinden TypeScript arayüzleri veya tür takma adları oluşturun. JSON'unuzu yapıştırın ve kullanıma hazır TypeScript türlerini anında alın.
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}Yaygın kullanımlar
- API Yanıtlarından TypeScript Türleri OluşturBir API JSON yanıtı yapıştırın ve ön uç kodunuzu tür-güvenli hale getirmek için anında TypeScript arabirimleri oluşturun.
- Yapılandırma ve Ayarlar Nesneleri için TypeScript TürleriUygulama ayarlarınıza tür güvenliği eklemek için JSON yapılandırma dosyalarından TypeScript arabirimleri oluşturun.
- Veritabanı Kayıtlarından TypeScript Türleri OluşturJSON'a aktarılan veritabanı kayıtlarını veya ORM sorgu sonuçlarını veri katmanı yazması için TypeScript arabirimlere dönüştürün.
- Sahte Verileri ve Test Fikstürlerini YazınBirim testlerinizi ve Storybook hikayelerinizi yazmak için JSON sahte verilerinden ve test fikstürlerinden TypeScript arabirimleri oluşturun.
- Üçüncü Taraf API Yanıtlarını YazınResmi türlerin eksik veya güncel olmadığı üçüncü taraf API yanıtlarından TypeScript arabirimleri oluşturun.
Nasıl çalışır
Bu araç, hiçbir harici kütüphane olmadan elle yazılmış özyinelemeli bir tür çıkarım algoritması kullanır — girdiyi doğrulamak ve ayrıştırmak için JSON.parse, ardından JSON ağacındaki her değeri dolaşan ve TypeScript interface veya type bildirimlerini doğrudan tarayıcıda üreten özel bir gezinme. Hiçbir şey sunucuya gönderilmez.
- 1JSON ayrıştırılır ve doğrulanırGirdiniz JSON.parse'a verilir. Başarısız olursa, tam ayrıştırma hatası hemen girdinin altında gösterilir. Başarılı bir ayrıştırma, dönüştürmenin geri kalanını yönlendiren türlü bir değer ağacı üretir.
- 2Özyinelemeli tür çıkarımıÖzyinelemeli bir getType işlevi her düğümü dolaşır: ilkel türler string, number, boolean veya null'a eşlenir; nesneler yeni adlandırılmış bir interface tetikler; nesne dizilerinin anahtarları tüm öğeler arasında birleştirilir, böylece yalnızca bazı öğelerde bulunan anahtarlar isteğe bağlı olur ve çakışan değer türleri | ile birleştirilir.
- 3Çakışmaya karşı güvenli interface adlandırmaHer iç içe nesne, JSON anahtarından türetilmiş bir PascalCase ad alır (snake_case, kebab-case ve boşlukların tümü normalleştirilir). Yapısal olarak farklı iki nesne aynı adı paylaşacaksa, önceki tanımın sessizce üzerine yazılması yerine sayısal bir sonek eklenir (Data, Data2, …).
- 4Çıktı görüntülenir ve indirilebilirÖnce iç içe interface'ler, ardından kök tür üretilir ve seçiminize bağlı olarak export interface veya export type olarak biçimlendirilir. Sonuç panoya kopyalanabilir veya .ts dosyası olarak indirilebilir — hepsi standart bir Blob ile, sunucuya gidiş-dönüş olmadan oluşturulur.
İlgili araçlar
JSON Schema'dan Forma
Bir JSON Schema yapıştırın ve canlı, çalışan bir form alın — metin, sayı, onay kutusu, açılır liste ve liste alanları — ardından girişlerinizin ürettiği JSON'u kopyalayın. API istek gövdeleri için hızlı prototip oluşturmaya çok uygundur. Tarayıcınızda çalışır.
Yazma Hızı Testi (WPM)
Yazma hızınızı (WPM) ve doğruluğunuzu süreli, kelime sayılı, alıntı, özel ve zen testleriyle ölçün. Canlı WPM, ham hız, tutarlılık, sonuç grafiği, birden çok dil ve karakter bazında geri bildirim — hepsi tarayıcınızda.
CSS clamp() Oluşturucu
Duyarlı tipografi ve aralık için akışkan bir CSS clamp() değeri oluşturun. Min/maks boyutu ve görünüm alanı aralığını ayarlayın, canlı önizleme görün ve tek satır CSS'i kopyalayın.