{ }JSONKit.tools

JSON’dan TypeScript’e

Örnek bir veriyi TypeScript arayüzlerine çevirin — iç içe nesneler kendi türünü alır, karışık diziler birleşime dönüşür ve bazı satırlarda bulunmayan anahtarlar isteğe bağlı çıkar.

JSON

TypeScript

Girdi bekleniyor…

Bu araç hakkında

Bir API yanıtını elle türlemek hem sıkıcıdır hem de ince biçimde yanlış yapmaya çok müsaittir. Gerçek bir veri yapıştırın, ona ait arayüzler üretilsin: her iç içe nesne kendi adlandırılmış türü olur, nesne dizileri tek bir biçimde birleştirilir; böylece bazı satırlarda eksik olan anahtar isteğe bağlı işaretlenir ve karışık diziler birleşime dönüşür. Aynı biçimler bir kez yazılıp paylaşılır. Yapamayacağı şey örneğin ötesini tahmin etmektir: örneğinizde null olan bir alan null olarak türlenir, çünkü veride başka bir şey söylenmemiştir.

Nasıl kullanılır

  1. 1Temsili bir JSON yanıtı yapıştırın — bir dizinin satırı ne kadar çoksa isteğe bağlı alan tespiti o kadar iyi olur.
  2. 2Kök türü adlandırın ve kod tabanınıza göre interface ya da type seçin.
  3. 3Sonucu bir .d.ts dosyasına kopyalayın, sonra örneğin dar tarif ettiği alanları elle genişletin.

Sık sorulan sorular

›İsteğe bağlı alanlara nasıl karar veriliyor?

Bir dizideki nesneler karşılaştırılarak. Bir anahtar kimi ögelerde varsa kimilerinde yoksa isteğe bağlı işaretlenir; her yerde bulunan anahtar zorunludur. Tek bir nesne iki yönde de kanıt vermez; bu yüzden tüm anahtarları zorunlu çıkar.

›Bir alan neden string | null yerine null olarak türlendi?

Çünkü örneğin gösterdiği yalnızca null’dı. Çıkarım ancak aldığı veriyi betimleyebilir — o alanları elle genişletin ya da dolu bir değer içeren bir örnek yapıştırın.

›Neden iki farklı anahtar tek bir arayüzü paylaşıyor?

Aynı biçimler bir kez yazılıp yeniden kullanılır; bu da çıktıyı kısa tutar. Bugün rastlantıyla benzeşen ama kavramsal olarak farklı türlerse arayüzü yeniden adlandırın.

›interface mi type mı seçmeliyim?

interface genişletilebilir ve bildirimle birleştirilebilir; nesne biçimlerine ve genel API’lere uyar. type takma adları birleşimleri ve eşlenmiş türleri de kapsar. Üretilen düz veri biçimleri için ikisi aynı davranır; kod tabanınızın zaten kullandığını seçin.

›Bu, veriyi çalışma zamanında doğrular mı?

Hayır. TypeScript türleri derlemede silinir; bir API yanıtının gerçekten uyduğunu hiçbir şey denetlemez. Çalışma zamanı güvencesi gerekiyorsa bunun yerine Zod veya Valibot ile şema üretip türü ondan türetin.