JSON'dan TypeScript'e Dönüştürücü

Bir JSON örneğinden tarayıcınızda doğrudan TypeScript interface'leri üretin.

Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız hiçbir zaman bir sunucuya yüklenmez.

interface Root {
  name: string;
  age: number;
  active: boolean;
  tags: string[];
  address: Address;
}

interface Address {
  street: string;
  zip: string;
}

Bu dönüştürücü ne yapar?

Bir JSON değerini okuyup eşleşen TypeScript interface'leri üretir: örnekte bulunan her nesne şekli için bir interface, her alan tuttuğu değerden tiplendirilir.

Nasıl kullanılır?

Editöre bir JSON nesnesi, dizisi veya temel değer yapıştırın. Hemen bir `Root` interface'i (nesne olmayan kök için bir type alias) ve iç içe geçmiş her nesne şekli için ek bir interface görünür.

Örnek

Bir `name` metni ve iç içe bir `address` nesnesi içeren bir nesne, `interface Root { name: string; address: Address; }` ile birlikte geldiği anahtardan adlandırılmış ayrı bir `interface Address { ... }` üretir.

Tip eşlemesi

Metinler `string`, sayılar `number`, boolean'lar `boolean` ve diziler `ElementType[]` olur. Örnekteki değeri `null` olan bir özellik `null` olarak tiplenir — alanın gerçek tipini öğrendiğinizde bunu elle `T | null` olarak genişletin.

İç içe nesneler ve diziler

Her iç içe nesne, geldiği anahtardan üretilmiş kendi adlandırılmış interface'ini alır (örneğin `addresses`, dizi öğeleri için bir `Address` interface'i olur). İki farklı anahtar yapısal olarak aynı nesneleri üretse bile, birleştirilmek yerine her biri kendi interface'ini alır.

Sınırlamalar

Üretilen tipler yalnızca sağlanan tek JSON örneğini tanımlar — örnekte metin olan ama gerçek verinizde başka yerde sayı olan bir alan yakalanmaz. Nesne dizileri yalnızca ilk öğelerinden tiplendirilir ve üretilen interface adları nadir durumlarda ayrılmış TypeScript anahtar kelimeleriyle çakışabilir.

Gizlilik

Ayrıştırma ve kod üretimi tamamen tarayıcınızda yerel çalışır. Yapıştırdığınız JSON ve ürettiğiniz TypeScript asla yüklenmez.

Sıkça Sorulan Sorular

Bu, JSON'umu bir şemaya karşı doğruluyor mu?
Hayır — tek bir örnek değerden tip çıkarır; interface'ler için bir başlangıç noktasıdır, bir JSON Schema veya çalışma zamanı doğrulayıcısı değildir.
Nesne dizilerinde ne olur?
Dönüştürücü, o nesnenin interface'ini üretmek için dizideki ilk öğeye bakar; sonraki öğelerin farklı alanları varsa, bunları üretilen interface'e elle ekleyin.
JSON'um bir sunucuya gönderiliyor mu?
Hayır — ayrıştırma ve TypeScript üretimi tamamen tarayıcınızda yerel olarak gerçekleşir.