Convertitore JSON in C# — Genera classi
Converti JSON in classi C# online: modelli con attributi System.Text.Json o Newtonsoft.Json, tipi nullable e List<T>. Gratis e privato nel tuo browser.
🔒 Funziona interamente nel tuo browser — nulla viene caricatoTrasforma il JSON in classi modello C#
Questo convertitore da JSON a C# legge un esempio JSON e genera classi C# fortemente tipizzate che ne rispecchiano la struttura. Ogni oggetto diventa una public partial class, ogni proprietà riceve un nome in PascalCase con un attributo del serializzatore che la ricollega alla chiave JSON originale, e gli oggetti annidati diventano classi a sé stanti, battezzate con il nome della proprietà che le contiene. Gli array diventano List<T> o T[], le date ISO diventano DateTimeOffset e i valori a volte assenti o null vengono emessi come tipi nullable, così il tuo codice compila con i payload reali e non con una versione idealizzata.
Sotto il cofano lo strumento usa quicktype, un motore di inferenza dei tipi maturo che unisce tutti gli elementi di un array prima di decidere il tipo. Così un elenco di ordini in cui solo alcuni hanno un coupon produce comunque una sola classe Order con una proprietà Coupon opzionale, invece di una classe adatta soltanto al primo elemento.
System.Text.Json o Newtonsoft
I progetti .NET moderni si affidano di solito a System.Text.Json, che qui è l'impostazione predefinita: le proprietà sono decorate con [JsonPropertyName] e l'output include un metodo factory FromJson, un metodo di estensione ToJson e le impostazioni dei convertitori per le date ISO. Se il tuo codice usa ancora Json.NET, passa il serializzatore a Newtonsoft e otterrai attributi [JsonProperty] con gli stessi helper basati su JsonConvert. Scegli Classes only quando ti servono solo i POCO da incollare in una cartella DTO esistente e imposta il namespace in modo che il file si inserisca direttamente nella tua soluzione.
Consigli per tipi C# precisi
Incolla l'esempio più ricco che riesci a trovare: includi campi opzionali, array vuoti e popolati e più di un elemento per array, così l'inferenza vede quali proprietà sono sempre presenti. Rinomina la classe radice da Root a qualcosa di significativo come OrderResponse prima di scaricare: il nome del file la segue. Dopo aver incollato il codice in Visual Studio o Rider, controlla i tipi che l'esempio non può rivelare: un ID intero che potrebbe superare long, una stringa che in realtà è un enum o importi monetari che meritano decimal. Tutto viene eseguito in locale, quindi puoi usare tranquillamente risposte di produzione.
Come usare
- Incolla il JSONIncolla un oggetto o un array JSON, oppure clicca su Load sample per provare lo strumento.
- Imposta le opzioniScegli il nome della classe radice, il namespace, il serializzatore e il tipo di collezione.
- Copia le classiCopia il codice C# generato o scaricalo come file .cs da aggiungere al progetto.
Domande frequenti
Supporta System.Text.Json e Newtonsoft.Json?
[JsonPropertyName] o [JsonProperty], oltre agli helper di conversione per quella libreria.Posso ottenere classi semplici senza gli helper del serializzatore?
Come vengono tipizzati date, decimali e null?
DateTimeOffset, i numeri con parte frazionaria diventano double e i campi assenti o null in alcuni esempi diventano nullable.