Convertitore JSON in Python
Converti JSON in classi Python per lo sviluppo Python
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
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.
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.
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:
Output Python generato:
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.