onlinetools.dev

JSON → TypeScript Türleri

Bir JSON örneğinden TypeScript arayüzlerini anında çıkarın

Yerelde çalışır
loading…
Bu araç hakkında

Bir JSON örneği yapıştırın — bir API yanıtı, bir yapılandırma dosyası — ve ondan çıkarılmış bir TypeScript arayüzü alın: iç içe nesneler iç içe türlere dönüşür, diziler eleman türü kazanır (karışık içerikte birleşimlerle) ve geçerli tanımlayıcı olmayan anahtarlar düzgün biçimde tırnaklanır.

Üretilen türler bir başlangıç noktasıdır, bir sözleşme değil: çıkarım tek bir örnek görür; yani örneğinizde tesadüfen null olan bir alan null olarak türlenir ve bulunmayan isteğe bağlı alanlar onun için yok hükmündedir. Çıktı bilerek sadedir — dekoratör yok, çalışma zamanı doğrulaması yok — böylece istediğiniz yere yapıştırıp geliştirebilirsiniz.

İstekten isteğe değişen alanlar için ikinci bir örneği de geçirip elle birleştirin ya da şekil oturduğunda şema öncelikli araçlara (OpenAPI, zod) terfi edin. Günlük “şu yanıt için bir tür lazım” anı içinse tek bir yapıştırma yeter.

Sıkça sorulan sorular

Null olabilen alanım neden sadece null olarak türlenmiş?
Çıkarım yalnızca yapıştırdığınız örneği görür. Alan orada null idiyse, bilebileceği tek şey null’dır. Üretimden sonra string | null (ya da gerçek tür neyse) olarak değiştirin — veya alanın dolu olduğu bir örnek yapıştırın.
İsteğe bağlı alanlar nasıl ele alınıyor?
Ele alınmıyor — tek bir örnek, “her zaman var” ile “bu seferlik var” arasındaki farkı ayırt edemez. Örnekte bulunmayan alanlar türde de bulunmaz. API’nin atladığını bildiğiniz alanları elle isteğe bağlı (name?:) işaretleyin.
Karışık türlü diziler ne üretir?
Bir birleşim: [1, "a"] için (number | string)[] çıkarılır. Boş diziler, incelenecek eleman olmadığı için unknown[] olur — gerçek eleman türünü öğrendiğinizde onunla değiştirin.
Çıkarılmış türleri mi yoksa zod gibi bir şema kütüphanesini mi kullanmalıyım?
Çıkarılan arayüzler yalnızca derleme zamanındadır — çalışma zamanında hiçbir şey doğrulamazlar. İç araçlar ve hızlı türleme için mükemmeldirler; çalışma zamanında güvenilmeyen girdi içinse bir zod/valibot şeması tanımlayın ve statik türü ondan türetin.
İlgili araçlar