Input JSON

Output Python

Cos'è JSON in Python?

Hai chiamato un'API, ottenuto una risposta JSON, e ora accedi a tutto con response["data"]["user"]["email"] — nessun autocompletamento, nessun controllo dei tipi, e un errore di battitura ti porta diretto a un KeyError. json.loads() ti dà un dizionario, che va benissimo per script veloci. Ma per codice applicativo reale, le dataclass tipizzate o i modelli Pydantic sono molto meglio. Questo strumento genera classi Python direttamente dal tuo JSON — incollalo, ottieni Python strutturato e incollalo nel tuo progetto.

Questo strumento genera definizioni di classe Python dal tuo JSON. Attiva Dataclass, Typing e Nullable nel pannello di configurazione. Le dataclass (Python 3.7+) ti forniscono __init__, __repr__ e uguaglianza gratuitamente. Puoi adattare l'output per la validazione con Pydantic.

La conversione viene eseguita interamente nel tuo browser. Il tuo JSON non viene mai inviato a un server.

Come usare questo strumento

1

Incolla o carica JSON

Copia il tuo JSON e incollalo nell'editor sinistro. Puoi anche fare clic su Carica per caricare un file .json o .txt. Usa il pulsante Esempio per caricare dati di esempio. Imposta il nome della classe e le opzioni nel pannello di configurazione.

2

Rivedi le classi generate

Il pannello di destra mostra il codice Python generato. Gli oggetti annidati diventano classi annidate. Gli array ricevono List[Type] dal modulo typing. Se il tuo JSON ha sintassi non valida, correggila prima usando il Formattatore JSON o il Validatore JSON.

3

Copia o scarica

Usa Copia per mettere il risultato negli appunti, o Scarica per salvarlo come file .py. Incollalo nel tuo progetto.

Esempi JSON in Python

Ecco un esempio di generazione di dataclass Python da un oggetto JSON.

Esempio: Record abbonato

Input JSON:

Input

Output Python generato:

Output

Quando JSON in Python è utile

La maggior parte degli sviluppatori ne ha bisogno quando integra REST API. Invii una richiesta tramite Postman, requests o httpx, e la risposta arriva come JSON. Incollarla qui ti dà classi tipizzate per l'accesso strutturato.

I file di configurazione, i payload webhook o i flussi di eventi sono spesso JSON. Elaborarli qui ti aiuta a capire la struttura e generare classi Python per type hints, validazione o pipeline di elaborazione dati.

Se stai costruendo un'app FastAPI o Flask che consuma API esterne, avere modelli tipizzati migliora la qualità del codice e cattura gli errori in anticipo. Le classi generate possono essere adattate per Pydantic con modifiche minime.

Domande frequenti

Come converto automaticamente JSON in una dataclass Python?

Incolla il tuo JSON in questo strumento, abilita l'opzione Dataclass, e genera una classe @dataclass per ogni oggetto annidato. Copiala nel tuo progetto — funziona con Python 3.7+.

Qual è la differenza tra una dataclass e una classe regolare per JSON?

Le dataclass (Python 3.7+) generano automaticamente __init__, __repr__ e __eq__. Le classi regolari necessitano di __init__ manuale. Per la maggior parte del lavoro con le API, le dataclass sono più pulite. Per la validazione, considera Pydantic.

I miei dati vengono inviati da qualche parte?

No. Tutto gira nel tuo browser. Il tuo JSON non lascia mai la tua macchina — sicuro per le risposte API di produzione o i dati sensibili.

Posso usarlo con Pydantic?

L'output è Python standard. Per Pydantic, cambia la classe base in BaseModel e rimuovi @dataclass. Pydantic ha anche un metodo model_validate() che gestisce automaticamente il parsing da un dizionario.

Come gestire snake_case vs camelCase?

JSON usa tipicamente camelCase; la convenzione Python è snake_case. Il generatore usa le chiavi JSON così come sono. Per Pydantic, usa model_config = ConfigDict(populate_by_name=True) e Field(alias="camelCaseKey") per la mappatura.

Strumenti correlati

Per la gestione JSON di Python, vedi il modulo json di Python e Pydantic. Per JSON, vedi la specifica JSON, RFC 8259 e MDN.