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

1

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.

2

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.

3

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:

Input

Output C# generato:

Output

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.