Input JSON

Output Python

Cos'è JSON in Python?

Python usa dict e classi personalizzate per i dati strutturati. Quando analizzi JSON con json.loads(), ottieni dizionari. Per l'accesso tipizzato, il supporto IDE e la validazione, spesso si preferiscono dataclass o classi regolari. La specifica JSON definisce oggetti, array, stringhe, numeri e booleani.

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 <code>List[Type]</code> 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

Dataclass vs classe regolare?

Le dataclass (Python 3.7+) ti forniscono __init__, __repr__, __eq__ e altro gratuitamente. Le classi regolari necessitano di __init__ manuale. Entrambe funzionano con il parsing JSON. Le dataclass sono preferite per il Python moderno.

Cosa succede con i tipi Optional?

Abilita i Tipi Nullable per ottenere Optional[T] o T | None per i campi che potrebbero essere mancanti o null. La sintassi union T | None richiede Python 3.10+.

I miei dati vengono inviati da qualche parte?

No. La generazione viene eseguita interamente nel tuo browser. Nessun dato viene inviato a nessun server.

Posso usarlo con Pydantic?

L'output è Python standard. Puoi adattarlo per Pydantic cambiando la classe base in BaseModel e aggiungendo validatori. Pydantic ha anche la propria generazione di schema da JSON.

snake_case vs camelCase?

JSON usa spesso camelCase; Python preferisce snake_case. Il generatore usa le chiavi JSON così come sono. Usa Field(alias="camelCase") in Pydantic o un decoder personalizzato 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.