JSON Python dataclass
JSON örneğini yazılan Python sınıflarına dönüştürün — dataclass, Pydantic, TypedDict veya NamedTuple.
JSON Python dataclass
Bir JSON nesnesini veya dizisini yapıştırın ve bu araç otomatik olarak her alan için bir tür çıkarsayarak tam tür ek açıklamalarıyla ilgili Python sınıflarını oluşturur. Kodunuza uyan çıktı stilini seçin: basit @dataclass, istekler ve yanıtları doğrulamak için Pydantic BaseModel, mevcut sözlük tabanlı kodu yazarak TypedDict veya hafif değişmez kayıtlar için NamedTuple. İç içe geçmiş nesneler kendi sınıfları olur, dosya hemen çalışması için doğru sırada tanımlanır; aynı şekilli nesneler — bir kayıt dizisinin her öğesi gibi — her biri için ayrı bir kopya oluşturmak yerine tek bir sınıfı yeniden kullanır.
Seçenekler, oluşturulan kodun muhafazakar mı yoksa modern mi olduğunu kontrol eder. “Null alanlar için isteğe bağlı” seçeneği, örneğinizde null olan bir alanı yararlı olmayan bare None yerine Optional (veya Any) türüne dönüştürür; “Varsayılan değerleri ekle” bunu “= None” ile tamamlar, böylece bir örnek oluştururken alan atlanabilir ve zorunlu alanlar, Python sözdiziminin gerektirdiği yerde varsayılan değerleri olan alanlardan önce otomatik olarak yeniden sıralanır. “Geçersiz alan adları için diğer ad” seçeneği, geçerli Python tanımlayıcıları olmayan JSON anahtarlarını yönetir — “first-name” gibi kısa çizgili bir anahtar first_name özniteliğine dönüşür, dataclass alan meta verileri veya Pydantic Field(alias=...) aracılığıyla orijinal anahtara bağlanır, böylece serileştirme doğru şekilde işlemeye devam eder. “List[T] yerine list[T] kullan” seçeneği modern PEP 585 yerleşik jenerikler ile bazı projelerin hâlâ gerektirdiği eski typing.List stili arasında geçiş yapar ve __future__ ek açıklaması anahtarı, Optional[X]/Union[X, Y] öğesini tüm kod genelinde yeni X | None / X | Y sözdizimi olarak değiştirir.
Tür çıkarımı, dizeleri, tam sayıları, kayan nokta sayılarını ve Boole değerlerini birbirinden ayırt eder, karışık dizi içeriğini tek bir Union türüne birleştirir ve kök nesne dizisine makul bir RootItem sınıf adı verir ve altında Root = list[RootItem] diğer adıyla bulunur. Bir JSON sayısı kendi int/float işaretçisini taşımadığından, ondalık noktası olmayan bir sayı her zaman int olarak okunur — ayrıştırılmış bir kasıtlı “36.0” kurtarmanın hiçbir yolu yoktur.
Her şey yerel olarak tarayıcınızda çalışır: yapıştırdığınız JSON — genellikle gerçek bir API yanıtı veya veritabanı kaydı — hiçbir yere gönderilmeden ayrıştırılır ve dönüştürülür. Oluşturulan Python'u kopyalayın, .txt dosyası olarak indirin veya çıktıyı girişe geri gönderin ve geliştirmeye devam edin.