Convertitore JSON in C#
Converti JSON in classi C# e oggetti POCO per lo sviluppo .NET
Input JSON
Output C#
Cos'è JSON in C#?
Se stai integrando un'API di terze parti nella tua app .NET, di solito ricevi documenti JSON ma hai bisogno di classi C# tipizzate per deserializzare la risposta. Scrivere quelle classi a mano è noioso — specialmente con oggetti profondamente annidati. Questo strumento genera automaticamente C# POCO dal tuo JSON. Incolla un esempio di risposta API e ottieni definizioni di classi pronte da inserire nel tuo progetto. Funzionano subito con System.Text.Json o Newtonsoft.Json.
La conversione viene eseguita nel tuo browser. Usa le opzioni di configurazione per impostare il nome della classe, scegliere proprietà vs campi e abilitare i tipi nullable. Nulla viene inviato a un server.
Come usare questo strumento
Incolla JSON
Incolla il tuo JSON nell'editor sinistro o carica un file. Usa Esempio per dati di esempio. Imposta il nome della classe radice e le opzioni (Proprietà, Nullable) nel pannello di configurazione.
Rivedi le classi
Il pannello di destra mostra le classi C# generate. Gli oggetti annidati diventano classi separate. Gli array diventano List<T> o T[]. Aggiungi attributi [JsonPropertyName] se necessario per nomi di chiavi JSON diversi.
Copia o scarica
Usa Copia o Scarica per ottenere il codice. Incollalo nel tuo progetto .NET. Per formattare prima il JSON, usa il Formattatore JSON. Per la validazione, usa il Validatore JSON.
Esempi JSON in C#
Ecco un esempio di generazione di classi C# da un oggetto JSON.
Esempio: Record abbonato
Input JSON:
Output C# generato:
Quando JSON in C# è utile
Quando integri REST API in .NET, ASP.NET Core, o Blazor, hai bisogno di tipi C# per la deserializzazione. Incollare qui una risposta di esempio ti dà POCO che puoi usare con JsonSerializer.Deserialize<T>() o Newtonsoft.Json. Per i test API, Postman e jq sono utili.
Esempi JSON in C#
Esempio: Oggetto JSON in classe C#
Input JSON:
{"subscriberId":"SUB-001","planName":"Premium 4G","dataLimit":"50GB","voiceMinutes":500,"status":"active"}Classe C# generata:
public class RootObject
{
public string SubscriberId { get; set; }
public string PlanName { get; set; }
public string DataLimit { get; set; }
public int VoiceMinutes { get; set; }
public string Status { get; set; }
}Domande frequenti
Come deserializzo JSON in C#?
Usa JsonSerializer.Deserialize<TuaClasse>(jsonString) da System.Text.Json, o JsonConvert.DeserializeObject<TuaClasse>(jsonString) da Newtonsoft.Json. Hai bisogno di una classe C# corrispondente — generane una qui incollando il tuo JSON.
Cosa fare se le mie chiavi JSON non corrispondono alle convenzioni di denominazione C#?
Usa [JsonPropertyName("json_key")] sulla proprietà (System.Text.Json), o [JsonProperty("json_key")] (Newtonsoft). In alternativa, configura JsonSerializerOptions.PropertyNamingPolicy su JsonNamingPolicy.CamelCase per la mappatura automatica.
Cosa succede con i tipi riferimento nullable in C#?
Abilita Nullable Types nella configurazione per generare string?, int?, ecc. Utile quando i campi JSON possono essere null o assenti. Avrai bisogno di #nullable enable o un'impostazione di progetto nullable-aware.
Il mio JSON viene inviato a un server?
No. La generazione delle classi viene eseguita interamente nel tuo browser. Il tuo JSON non lascia mai la tua macchina, quindi è sicuro da usare con chiavi API di produzione o dati sensibili.
Properties vs campi — quale dovrei usare?
Le properties (get; set;) sono lo standard per i DTO in C#. Sia System.Text.Json che Newtonsoft.Json serializzano le properties pubbliche per impostazione predefinita. I campi funzionano, ma sono meno comuni per gli oggetti di trasferimento dati.
Strumenti correlati
System.Text.Json. Newtonsoft.Json. Specifica JSON. RFC 8259. MDN. .NET. Postman.