Convertitore JSON in Python โ Genera classi
Converti JSON in dataclass Python o modelli Pydantic con type hint, campi snake_case e helper from_dict/to_dict. Gratuito, privato e nel tuo browser.
๐ Funziona interamente nel tuo browser โ nulla viene caricatoDal JSON a classi Python tipizzate
Lavorare con dizionari grezzi รจ veloce, finchรฉ un errore di battitura in una chiave non provoca un KeyError tre livelli piรน in profonditร . Questo convertitore da JSON a Python genera classi tipizzate a partire da un esempio JSON, cosรฌ editor, type checker e colleghi sanno esattamente cosa contiene ogni payload. Ogni oggetto diventa una classe con attributi annotati, gli oggetti annidati diventano classi a sรฉ, le liste sono tipizzate in base al tipo dei loro elementi e i valori a volte assenti sono tipizzati come opzionali. Le chiavi JSON vengono convertite in attributi snake_case, mentre il codice di serializzazione generato mantiene le chiavi originali nei dati scambiati.
La generazione รจ affidata a quicktype, che unisce tutti gli elementi di ogni array prima di dedurre i tipi, quindi un campo presente solo in alcuni elementi viene comunque catturato e marcato come opzionale, anzichรฉ essere scartato in silenzio.
Dataclass, Pydantic e versioni di Python
Per impostazione predefinita l'output usa classi @dataclass della libreria standard, piรน funzioni from_dict e to_dict che validano e convertono ogni campo, quindi non servono dipendenze di terze parti. Se il tuo progetto usa giร Pydantic, per esempio per i corpi delle richieste di FastAPI, per le impostazioni o per la validazione, seleziona Pydantic BaseModel e le classi erediteranno da BaseModel. Il selettore della versione di Python controlla la sintassi dei tipi: 3.10+ produce annotazioni moderne come list[int] e str | None, mentre i target piรน vecchi ricorrono al modulo typing. Seleziona Classes only per saltare del tutto gli helper di conversione.
Consigli pratici
Usa un esempio che copra i campi opzionali e contenga piรน elementi per array, perchรฉ l'inferenza puรฒ descrivere solo ciรฒ che vede. Dai alla classe radice il nome del tuo dominio โ Invoice si legge meglio di Root โ e il download userร quel nome. Dopo la generazione, esegui il tuo formatter e il type checker (Black, Ruff, mypy o Pyright) e rifinisci ciรฒ che l'esempio non poteva rivelare, come stringhe che sono in realtร enum o numeri che dovrebbero essere Decimal. Tutto il parsing e la generazione del codice avvengono in locale, quindi puoi incollare in sicurezza risposte che contengono dati dei clienti.
Come usare
- Incolla il JSONIncolla un oggetto o un array JSON, oppure clicca su Load sample.
- Scegli lo stileSeleziona la versione di Python e se vuoi dataclass o modelli Pydantic.
- Copia le classiCopia il codice generato o scaricalo come modulo .py.
Domande frequenti
Genera dataclass o modelli Pydantic?
@dataclass con type hint; seleziona Pydantic BaseModel per ottenere invece modelli Pydantic.Quali versioni di Python sono supportate?
list[str] e la sintassi di unione X | None.I nomi delle proprietร vengono convertiti in snake_case?
from_dict e to_dict mantengono le chiavi JSON originali.