tigtools

JSON to TypeScript

Bir JSON yanıtı veya dosyası yapıştırın ve kodunuza ekleyebileceğiniz TypeScript bildirimleri elde edin.

Tarayıcınızda çalışır Kayıt gerekmez

Olarak bildir

Nasıl kullanılır?

  1. JSON'u giriş kutusuna yapıştırın, bir .json dosyası açın veya örneği deneyin.
  2. Kök türün adını ayarlayın, örneğin Order veya ApiResponse.
  3. Interface veya type bildirimlerini seçin; export ve readonly ekleyip eklemeyeceğinizi belirleyin.
  4. Üretilen TypeScript'i kopyalayın veya types.ts olarak indirin.

Nasıl çalışır?

Üretici, JSON belgesinin tamamını dolaşır ve her konumda bulunan değer türlerini kaydeder. Her JSON nesnesi kendi adlandırılmış bildirimine dönüşür. Ad, PascalCase biçiminde yazılan özellik anahtarından gelir; örneğin “shipping_address” ShippingAddress olur. Bir dizinin öğeleri, anahtarın tekil hâline göre adlandırılır: “items” Item, “categories” Category verir; çoğul gibi görünmeyen anahtarlara ise “Item” son eki eklenir.

Aynı dizi içindeki tüm nesneler tek bir interface içinde birleştirilir. Bir anahtar yalnızca bazılarında görünüyorsa “?” ile isteğe bağlı işaretlenir. Bir değer farklı konumlarda farklı türlerdeyse tür, string | number gibi bir birleşim olur. null kendi türü olarak korunur; bu nedenle bazen null olan bir alan string | null olur. Boş bir dizi, çıkarım yapılacak bir şey olmadığından unknown[] olur. Tamamen aynı özelliklere ve türlere sahip iki nesne, yinelenen üretmek yerine tek bir interface paylaşır. “first-name” gibi geçerli tanımlayıcı olmayan anahtarlar tırnak içine alınır.

Sonuç yalnızca yapıştırdığınız örneği açıklar. Gerçekte isteğe bağlı veya null olabilen bir alan, örneğiniz bunu göstermiyorsa zorunlu ve null olmayan olur; tarihler ise düz string olarak gelir. Türleri kullanmadan önce API belgelerinizle karşılaştırın.

Örnekler

API yanıtını tipleme

Mağaza API'nizden bir siparişi kök adı Order olacak şekilde yapıştırın. Order, Customer, Item ve Shipping interface'lerini alırsınız; Item üzerinde note?: string bulunur çünkü iki öğeden yalnızca birinde not vardır.

Salt okunur yapılandırma

config.json dosyasını yapıştırın, “Özellikleri salt okunur yap” seçeneğini işaretleyin ve sonucu config.d.ts dosyasına yapıştırın; böylece derleyici yapılandırmaya yanlışlıkla yazılmaları yakalar.

Üst düzeyde dizi

Bir liste uç noktası [{…}, {…}] döndürür. Kök adı Product olduğunda çıktı, “export type Product = ProductItem[];” ile başlar ve ardından ProductItem interface'i gelir.

Sık sorulan sorular

Çıktıda bir alan neden isteğe bağlıdır?

Çünkü aynı dizideki en az bir nesne bu anahtara sahip değildir. Her nesnede varsa, zorunlu olur. Daha doğru isteğe bağlı alanlar için birkaç kayıt yapıştırın.

Bir tarih neden string olarak yazılır?

JSON'un tarih türü yoktur, bu nedenle tarihler string olarak taşınır. Jeneratör biçimleri tahmin etmez. Kodunuz bunları Date nesnelerine dönüştürüyorsa türü kendiniz değiştirin.

Interface ile type arasındaki fark nedir?

Nesne şekilleri için neredeyse aynı çalışırlar. Interface'ler sonraki bildirimlerle genişletilebilir ve birleştirilebilir; type takma adları yeniden açılamaz. Kod tabanınızın zaten kullandığı stili seçin.

Zod şemaları gibi çalışma zamanı doğrulaması üretebilir mi?

Hayır. Yalnızca derleme zamanında kontrol edilen ve çalışma zamanında veriyi doğrulamayan TypeScript bildirimleri üretir.

Gizlilik

JSON'unuz yalnızca tarayıcınızda analiz edilir. Hiçbir şey yüklenmez, saklanmaz veya analizlere dahil edilmez.