Sviluppatore / Tipi
Convertitore da JSON a Python
Trasforma un esempio JSON in dataclass Python, definizioni TypedDict o modelli Pydantic, con classi annidate, campi facoltativi e nullable e nomi in snake_case.
Convertitore da JSON a Python: Il convertitore legge la struttura dell'esempio: ogni oggetto diventa una classe, gli array diventano list[...] e gli oggetti contenuti in un array vengono uniti, così una chiave assente in alcuni record diventa facoltativa e una chiave che a volte è null diventa "| None". Le chiavi che non sono nomi Python validi diventano snake_case; i modelli Pydantic mantengono la chiave originale come alias, mentre TypedDict passa alla sua forma funzionale. L'output di diversi esempi complessi è stato eseguito in Python 3.13 e Pydantic ha verificato l'esempio rispetto al modello generato. Funziona al 100% localmente nel browser, senza caricare file sul server.
- Categoria
- Strumenti per sviluppatori
- Esecuzioni
- Nel browser
- Costo
- Gratuito · senza registrazione
- Disponibilità
- Pronto all'uso
Funziona interamente nel browser
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
Scritto per Python 3.10 o versioni successive. Le chiavi mancanti in alcuni oggetti diventano facoltative; quelle che a volte sono null diventano “| None”. Le Dataclass non riconvertono in JSON le chiavi rinominate, quindi usa Pydantic, che aggiunge gli alias, quando le chiavi non sono nomi Python validi.
Dai tipi alla validazione
Le annotazioni dei tipi, da sole, non controllano i dati durante l'esecuzione: json.loads restituisce semplici dict e liste, indipendentemente da ciò che indicano le annotazioni. I modelli Pydantic validano e convertono i dati durante l'analisi, con Model.model_validate(data), e segnalano ogni campo non conforme.
Per lo stesso esempio in altri linguaggi, consulta JSON to TypeScript e JSON to Go; per un contratto indipendente dal linguaggio, JSON to JSON Schema.
Ottenere un buon esempio
Incolla diversi record invece di uno solo, includendo quelli con campi facoltativi o vuoti, così il convertitore può capire quali chiavi sono sempre presenti. I valori che sono sempre null o array vuoti vengono restituiti come Any e devono essere completati manualmente.
Come usarlo
- Incolla un esempio JSON, preferibilmente un array con diversi record tipici.
- Scegli dataclass, TypedDict o Pydantic e assegna un nome al tipo principale.
- Copia le classi generate nel tuo progetto.
Privacy e limitazioni
Il JSON viene convertito nel browser e non viene mai caricato.
Strumenti correlati
Domande frequenti
Quale stile dovrei usare?
Pydantic per convalidare e analizzare i dati provenienti da un'API, TypedDict per il controllo dei tipi nel codice che passa normali dict e dataclass per semplici oggetti interni creati direttamente da te.
Quale versione di Python serve per eseguire il codice?
Python 3.10 o successiva, per la sintassi X | None; NotRequired in TypedDict richiede la versione 3.11, oppure typing_extensions nelle versioni precedenti.
Perché alcuni campi hanno il tipo Any?
Una chiave sempre null o un array vuoto non fornisce indicazioni sul tipo; sostituisci Any con il tipo corretto indicato nella documentazione della tua API.
Strumento gratuito · nel browser esecuzioni · senza account