Ana içeriğe geç

Ü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.

Yüklendikten sonra çevrimdışı çalışır
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.

  1. 1
    JSON ayrıştırılır ve doğrulanır
    Girdiniz 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. 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. 3
    Çakışmaya karşı güvenli interface adlandırma
    Her 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. 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

Sık sorulan sorular