Geliştirici / Türler

JSON'dan Python'a Dönüştürücü

İç içe sınıflar, isteğe bağlı ve null olabilir alanlar ve snake_case adlarıyla JSON örneğini Python dataclass'lerine, TypedDict tanımlarına veya Pydantic modellerine dönüştürün.

JSON'dan Python'a Dönüştürücü: Dönüştürücü, örneğin yapısını okur: her nesne bir sınıfa, diziler list[...] biçimine dönüştürülür ve bir dizideki nesneler birleştirilir. Böylece bazı kayıtlarda bulunmayan bir anahtar isteğe bağlı, bazen null olan bir anahtar ise "| None" olur. Geçerli Python adları olmayan anahtarlar snake_case biçimine dönüştürülür; Pydantic modelleri özgün anahtarı alias olarak korur ve TypedDict işlevsel biçime geçer. Birkaç karmaşık örneğin çıktısı Python 3.13'te çalıştırılmış, Pydantic ile örneğin buna göre doğrulaması yapılmıştır. Sunucuya hiçbir dosya yüklenmeden tarayıcınızda %100 yerel olarak çalışır.

Çalıştırma sayısı
Tarayıcınızda
Maliyet
Ücretsiz · kayıt gerekmez
Kullanılabilirlik
Kullanıma hazır
JSON'dan Python'aYerel işleme

Tamamen tarayıcınızda çalışır

Python

from __future__ import annotations

from dataclasses import dataclass


@dataclass
class Address:
    city: str
    zip_code: str


@dataclass
class User:
    id: int
    user_name: str
    avatar_url: str
    score: float
    tags: list[str]
    address: Address
    manager_id: int | None
    nickname: str | None = None


UserList = list[User]

Python 3.10 veya sonrası için yazılmıştır. Bazı nesnelerde bulunmayan anahtarlar isteğe bağlı olur; bazen null olan anahtarlar “| None” olur. Dataclasses, yeniden adlandırılan anahtarları JSON'a geri eşlemez; bu nedenle anahtarlar geçerli Python adları olmadığında takma adlar ekleyen Pydantic'i kullanın.

Türlerden doğrulamaya

Tür ipuçları tek başına çalışma zamanında verileri kontrol etmez: json.loads, ek açıklamalar ne derse desin size düz dict ve list değerleri verir. Pydantic modelleri, veriler ayrıştırılırken bunları doğrular ve dönüştürür; Model.model_validate(data) ile uymayan her alanı bildirir.

Aynı örneği diğer dillerde görmek için JSON to TypeScript ve JSON to Go sayfalarına bakın; dilden bağımsız bir sözleşme için JSON to JSON Schema sayfasını kullanın.

İyi bir örnek alma

Tek bir kayıt yerine birkaç kayıt, isteğe bağlı veya boş alanlar içeren kayıtlar da yapıştırın; böylece dönüştürücü hangi anahtarların her zaman bulunduğunu görebilir. Her zaman null veya boş dizi olan değerler Any olarak çıkar ve elle doldurulmaları gerekir.

Nasıl kullanılır?

  1. Bir JSON örneği yapıştırın; tercihen birkaç tipik kayıt içeren bir dizi kullanın.
  2. dataclass, TypedDict veya Pydantic seçin ve en üst düzey türe bir ad verin.
  3. Oluşturulan sınıfları projenize kopyalayın.

Gizlilik ve sınırlamalar

JSON tarayıcıda dönüştürülür ve hiçbir yere yüklenmez.

İlgili araçlar

Sık sorulan sorular

Hangi stili kullanmalıyım?

Bir API'den gelen verileri doğrulamak ve ayrıştırmak için Pydantic'i, normal dict'leri kullanan kodlarda tür denetimi yapmak için TypedDict'i, kendiniz oluşturduğunuz basit dahili nesneler için ise dataclass'leri kullanın.

Kod hangi Python sürümünü gerektirir?

X | None söz dizimi için Python 3.10 veya sonrası gerekir; TypedDict'deki NotRequired için 3,11 ya da daha eski sürümlerde typing_extensions gerekir.

Bazı alanların türü neden Any olarak belirtiliyor?

Her zaman null olan bir anahtar veya boş bir dizi, türü hakkında bilgi vermez; Any yerine API'nizin belgelerindeki gerçek türü yazın.

Ücretsiz araç · tarayıcınızda kez çalıştırma · hesap gerekmez