Python Class'tan JSON Schema Üretici

Python kodu Girdisi

Editör yükleniyor…

JSON Schema Çıktısı

Ayarlar

JSON Schema'nın kökü olarak hangi class/dataclass/BaseModel'in kullanılacağını seçin.

Ayrıştırma tamamen tarayıcınızda çalışır. Kaynağınız sayfadan asla çıkmaz.

JSON Schema üretmek için Python class'larını yapıştırın.

Dataclass, BaseModel, enum, TypedDict ve modern type-hint sözdizimini destekler.

Python dataclass'ları, Pydantic modelleri ve TypedDict'ler için JSON Schema üretme — adım adım kılavuz

Bu çevrimiçi Python class'tan JSON Schema dönüştürücü; gerçek modellerden (DTO, struct, class) JSON Schema üretmenize yardımcı olur. Böylece payload'ları doğrulayabilir, sözleşmeleri paylaşabilir ve mock JSON üretebilirsiniz.

  1. Adım 1 – Python kaynağınızı yapıştırın

    • Belgelemek istediğiniz modelleri sol editöre yapıştırın.
    • Şemanın definitions üretebilmesi için referans verilen türleri aynı snippet'e dahil edin.
    • Örnek yüklemek ve beklenen giriş formatını görmek için Örnek düğmesini kullanın.
  2. Adım 2 – Kök model seçin (gerekirse)

    • Birden fazla tanım algılanırsa, API payload'unuzla eşleşen kökü seçin.
    • Çıktı şema, seçilen köke göre oluşturulur ve referans türler için ek definitions içerebilir.
  3. Adım 3 – JSON Schema çıktısını inceleyin

    • Türleri, required/optional alanları ve iç içe nesne/dizi yapılarını kontrol edin.
    • Şunlara dikkat edin: definitions ve $ref modelleriniz diğer modelleri referansladığında.
    • Doğrulama, dokümantasyon veya şema-önce geliştirme için şemayı kopyalayın veya indirin.
  4. Adım 4 – Doğrulayın veya mock JSON üretin

    • Tıklayın Mock Veri Üret ve şema ön yüklü şekilde mock üreticiyi açın.
    • Kırılma yaratan değişiklikleri erken yakalamak için gerçek payload'ları şemanıza göre doğrulayın.
    • Gelişmiş şema bileşimine (örn. anyOf/oneOf/allOf) dayanıyorsanız sonucu Ajv gibi tam bir doğrulayıcıyla doğrulayın.

Şema anahtar kelime desteği notu

Üretilen şemalar $ref içerebilir ve ayrıca anyOf, oneOf, veya allOf. Karmaşık şemalar için tam bir JSON Schema doğrulayıcı kullanın ve gerekirse mock üretiminden önce dereference edin.

İlgili JSON Schema ve kod üretim araçları

Şemaları doğrulamak, mock payload üretmek, JSON örneklerini biçimlendirmek ve kod ile sözleşmeleri senkron tutmak için bu araçları kullanın.

Sık Sorulan Sorular

Hangi Python yapıları destekleniyor?

Dönüştürücü; normal class'lar, dataclass'lar, Pydantic BaseModel sınıfları ve TypedDict tanımlarını anlar. Field anotasyonlarını, varsayılan değerleri, Optional/Union ipuçlarını, Literal değerlerini ve Enum alt sınıflarını okuyarak kodunuzu yüklemeden doğru JSON Schema'lar oluşturur.

Python için tür tespiti nasıl çalışır?

list[str], dict[str, Any], Optional[int], tuple[float, float] gibi type hint'ler ve özel class/enum türleri otomatik olarak JSON Schema ilkel türlerine, array/object yapılarına veya referanslara eşlenir. Anotasyonlar eksikse, varsayılan değerlerden basit çıkarım yapar ve ayarlamanız gereken yerler için uyarı verir.

Farklı Python sürümleri ve çatılarıyla kullanabilir miyim?

Evet. PEP 585 generic türleri, PEP 604 union'ları (str | None) ve @dataclass(frozen=True) veya @validator gibi decorator'lar desteklenir. Klasik typing.Optional/typing.List ipuçları da işlendiği için Python 3.7+ kodları doğrudan çalışır.

Şemadan mock JSON'u nasıl oluştururum?

Şema üretildikten sonra "Mock Veri Üret" kısayolunu kullanarak Mock Üretici'yi şema ön yüklü şekilde açın. Locale, dizi sayıları ve seçenekleri ayarlayıp doküman veya testler için örnek payload'lar oluşturun.

Python Class'tan JSON Schema Üretici | JSONSwiss