DT Dev Tools

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 caricato

Questo strumento ti รจ stato utile? Valutalo:

Dal 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

  1. Incolla il JSONIncolla un oggetto o un array JSON, oppure clicca su Load sample.
  2. Scegli lo stileSeleziona la versione di Python e se vuoi dataclass o modelli Pydantic.
  3. Copia le classiCopia il codice generato o scaricalo come modulo .py.

Domande frequenti

Genera dataclass o modelli Pydantic?
Entrambi. L'output predefinito usa @dataclass con type hint; seleziona Pydantic BaseModel per ottenere invece modelli Pydantic.
Quali versioni di Python sono supportate?
Puoi scegliere 3.6, 3.7, 3.9 o 3.10+. I target piรน recenti usano generici integrati come list[str] e la sintassi di unione X | None.
I nomi delle proprietร  vengono convertiti in snake_case?
Sรฌ. I nomi dei campi diventano snake_case in stile Python, mentre le funzioni generate from_dict e to_dict mantengono le chiavi JSON originali.
I miei dati vengono caricati?
No. Tutto viene eseguito in locale nel tuo browser, quindi le risposte API private restano sul tuo dispositivo.