Generatore di classi da JSON
Genera classi C#, TypeScript, Java, Python e Go a partire da un JSON, con i nomi originali conservati.
ConvertitoriPerché serve un generatore
Quando un'interfaccia risponde in JSON, prima o poi quel JSON va letto da un
programma: una classe in C#, un'interfaccia in TypeScript, una dataclass in
Python. Scriverle a mano è meccanico e insidioso, perché l'errore non è mai
nella struttura — che si copia — ma nei dettagli: una proprietà che cambia
maiuscole, un campo che nell'originale si chiama full_name e nel
tuo linguaggio diventerebbe FullName. Un generatore fa il lavoro
noioso e non si distrae.
Cosa conserva e cosa adatta
I nomi delle classi e dei membri seguono le convenzioni del linguaggio di
destinazione: PascalCase per C#, camelCase per i campi Java, snake_case dove
è d'uso. I nomi originali del JSON non si perdono mai: C# li annota con
JsonPropertyName, Java con JsonProperty, Go li mette
nei tag json, Python li lascia nel commento accanto al campo.
Il risultato deserializza il JSON di partenza così com'è.
Gli array con elementi diversi
Capita che gli elementi di un array non abbiano tutti la stessa forma: un campo c'è solo in alcuni, o un numero è intero in un elemento e decimale in un altro. Lo strumento fonde gli elementi in un'unica classe: le proprietà presenti solo in alcuni diventano facoltative, e i tipi si allargano al più generale che li contiene tutti. È l'unica ricostruzione onesta possibile quando le forme differiscono.
I tuoi dati non lasciano il browser
Come tutti gli strumenti di questo sito, la conversione avviene interamente sul tuo computer. Il JSON che incolli — che può contenere risposte di sistemi interni o dati di clienti — non viene inviato ad alcun server, non viene registrato e non compare in nessun log.
Domande frequenti
Sì. Quando il nome generato differisce da quello del JSON, il generatore aggiunge ciò che serve perché la corrispondenza resti esatta: JsonPropertyName in C#, JsonProperty in Java, il tag json in Go, un commento in Python. I nomi che sono già validi restano invece quelli originali.
Gli elementi vengono fusi in una classe sola: i campi presenti ovunque diventano obbligatori, quelli presenti solo in alcuni diventano facoltativi e i tipi numerici si allargano al più generale. È lo stesso criterio che applicherebbe una persona, applicato in modo uniforme.
No. La generazione avviene interamente nel tuo browser: il contenuto non lascia mai il tuo computer e non viene registrato da nessuna parte.