JSON’dan TypeScript, Go, Python, Zod ve JSON Schema’ya Dönüştürücü
JSON yapıştırın ve saniyeler içinde TypeScript arayüzleri, Go struct’ları, Python dataclass’ları, Zod şemaları veya JSON Schema alın. Araç verilerinizi ayrıştırır, her alan için türleri çıkarır ve iç içe nesneler için adlandırılmış arayüzler üretir. Kayıt yok, sunucu çağrısı yok, bağımlılık yok.
JSON’dan TypeScript Üreteci nedir?
JSON’dan TypeScript üreteci, bir örnek JSON nesnesini alır ve her alanın tipini çıkararak karşılık gelen TypeScript tip tanımları (arayüzler, tip takma adları veya Zod şemaları) üretir. API yanıtlarınıza veya yapılandırma nesnelerinize karşılık gelen tipleri manuel olarak yazmak yerine, temsili bir JSON örneği yapıştırırsınız ve araç otomatik olarak tipleri oluşturur. Bu zaman kazandırır, senkronizasyon hatalarını azaltır ve iç içe nesneler, karışık tip dizileri ve boşluklu alanlar gibi kenar vakaları ele alır.
Nasıl Kullanılır
- Soldaki giriş bölmesine geçerli JSON yapıştırın veya bir
.jsondosyasını sürükleyip bırakın - Çıktı modunu seçin: Arayüz (varsayılan), Tür, Schema, Go, Python veya Zod
- Kopyala düğmesiyle üretilen çıktıyı kopyalayın veya
.ts,.go,.pydosyası olarak indirin - Üretilen türleri doğrudan projenize yapıştırın
Çıktı Modları
Arayüz modu (varsayılan)
Standart TypeScript arayüzleri üretir. API yanıtları, config nesneleri ve bildirim birleştirme için en uygundur.
Tür takma adı modu
type bildirimleri üretir. Birleşik türler, eşli türler ve tür tanımlarınızda daha fazla esneklik gerektiğinde kullanılır.
Schema modu
Verilerinizden JSON Schema (draft-07) üretir. Şema, tipli özellikler, gerekli alan listeleri, tamsayı vs ondalık ayrımı ve özyinelemeli iç içe nesne şemaları içerir.
Go modu
JSON struct etiketleriyle Go struct’ları üretir. Her alana PascalCase dışa açık ad ve json:"..." etiketi eklenir. Opsiyonel alanlar omitempty içerir.
Python modu
Type annotation’lı Python dataclass’ları üretir. Alanlar snake_case isimleri kullanır, eksik alanlar Optional[T] = None olarak yazılır. Boş nesneler Dict[str, Any] olur.
Zod modu
Type inference’lı Zod şemaları üretir. Her nesne bir z.object() olur, eksik alanlar z.optional() kullanır, TypeScript türü z.infer ile dışa aktarılır.
Tür Çıkarma Kuralları
Araç JSON değerlerini TypeScript, Go, Python, Zod ve JSON Schema türleri olarak şu şekilde eşleştirir:
| JSON Değeri | TypeScript Türü | Go Türü | Python Türü | Zod Türü | JSON Schema Türü |
|---|---|---|---|---|---|
"merhaba" | string | string | str | z.string() | "string" |
42 | number | int | int | z.number() | "integer" |
3.14 | number | float64 | float | z.number() | "number" |
true / false | boolean | bool | bool | z.boolean() | "boolean" |
null | null | interface{} | None | z.null() | "null" |
{} | Record<string, unknown> | map[string]interface{} | Dict[str, Any] | z.record(z.unknown()) | { "type": "object", "additionalProperties": true } |
[] | unknown[] | []interface{} | List[Any] | z.array(z.unknown()) | { "type": "array", "items": {} } |
[{ ... }] | TürAdı[] | []StructName | List[TürAdı] | z.array(TürAdı) | { "type": "array", "items": { ... } } |
{ key: "val" } | interface TürAdı { ... } | type StructName struct { ... } | @dataclass class TürAdı: ... | z.object({...}) | { "type": "object", "properties": { ... } } |
İç İçe Nesne Adlandırma
İç içe nesneler çakışmaları önlemek için yola dayalı adlar alır. Şu JSON’u düşünün:
{
"kullanici": {
"isim": "Ali",
"adres": { "sehir": "İstanbul" }
}
}
Araç şunları üretir:
interface RootKullaniciAdres {
sehir: string;
}
interface RootKullanici {
isim: string;
adres: RootKullaniciAdres;
}
interface Root {
kullanici: RootKullanici;
}
Adlandırma kuralı, anahtar yolunu PascalCase olarak kullanır: kullanici.adres → RootKullaniciAdres.
Yaygın Kullanım Durumları
API Yanıt Türleri
Örnek bir API yanıtı yapıştırın ve fetch çağrılarınız için türler üretin. REST API’leri, GraphQL yanıtları ve herhangi bir JSON uç noktası ile çalışır.
Config Nesne Yapılandırma Türleri
Yapılandırma dosyaları, ortam değişkenleri veya ayar nesneleri için türler üretin. Araç, çok seviyeli derinliğe sahip iç içe yapılandırmaları işler.
Sahte Veri Türleri
Örnek sahte verileri kullanarak test fikstürleriniz için türler üretin. Sahtelerinizin gerçek veri şekliyle eşleşmesini sağlar.
İlgili Araçlar
- JSON Biçimlendirici — Dönüştürmeden önce JSON’u biçimlendirin ve doğrulayın
- Veri Dönüştürücü — JSON, YAML, TOML ve .env formatları arasında dönüştürün