UTILS.
100% nel browser
💠

Da JSON a classi C#

Genera classi modello C# da un JSON di esempio per System.Text.Json o Newtonsoft.Json, con proprietà PascalCase e tipi valore nullable.

output

Informazioni su questo strumento

Lo strumento Da JSON a classi C# converte un JSON di esempio incollato in classi o record modello C#, così gli sviluppatori .NET possono creare DTO da una risposta API in pochi secondi. Analizza il JSON, inferisce i tipi C# ricorsivamente ed emette un tipo per oggetto: le stringhe diventano string, le stringhe data-ora ISO DateTime, gli interi int o long, gli altri numeri double, i booleani bool, gli array List<T> e gli oggetti annidati le proprie classi PascalCase dichiarate prima dei genitori che le referenziano.

Tutta l'analisi e la generazione del codice avvengono localmente nel tuo browser con JSON.parse e semplice JavaScript — nulla viene caricato. Le proprietà vengono emesse come auto-proprietà PascalCase, public T Prop { get; set; }. Quando la chiave JSON differisce dal nome della proprietà PascalCase lo strumento aggiunge [JsonPropertyName("originalKey")] per System.Text.Json o [JsonProperty("originalKey")] per Newtonsoft, e vengono inclusi solo i using necessari.

Le proprietà di tipo valore che possono essere null in qualsiasi campione vengono rese nullable (int?, double?, bool?, DateTime?), mentre i tipi riferimento come string e List sono già nullable. L'interruttore del serializzatore passa lo stile di attributi e using tra System.Text.Json (predefinito) e Newtonsoft.Json; l'interruttore della forma emette classi (predefinito) o record. Copia il codice o scaricalo come file .cs.

Domande frequenti

Come vengono mappati i tipi JSON su C#?
string in string, una data-ora ISO in DateTime, intero in int (long oltre l'intervallo di int), numero non intero in double, booleano in bool, array in List<T> e oggetto in una classe o record nominato. I tipi valore nullable ricevono il modificatore ? finale.
System.Text.Json o Newtonsoft?
L'interruttore del serializzatore sceglie l'uno o l'altro. Controlla l'attributo usato quando il nome di una proprietà differisce dalla chiave JSON — [JsonPropertyName("key")] per System.Text.Json o [JsonProperty("key")] per Newtonsoft — e il using corrispondente.
Posso generare record invece di classi?
Sì. L'interruttore della forma passa tra public class (predefinito) e public record, mantenendo le stesse auto-proprietà PascalCase e gli attributi JSON così puoi scegliere lo stile preferito dalla tua base di codice.
Il JSON viene elaborato in modo privato?
Sì. Tutto avviene nel tuo browser con JSON.parse e semplice JavaScript; il campione non viene mai caricato, quindi incollare payload API reali è sicuro.

Altri strumenti