Input JSON

Output C#

Cos'è JSON in C#?

C# utilizza classi e proprietà per rappresentare i dati. Quando consumi JSON da un'API o da una configurazione, hai bisogno di tipi C# corrispondenti per la deserializzazione. Questo strumento genera classi C# (POCO) dal tuo JSON. Incolla JSON di esempio e ottieni definizioni di classe con i tipi di proprietà corretti. Usali 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 <strong>Copia</strong> o <strong>Scarica</strong> 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.

Domande frequenti

Proprietà vs campi?

Le proprietà usano get; e set;. System.Text.Json e Newtonsoft.Json serializzano le proprietà per impostazione predefinita. I campi funzionano ma sono meno comuni per i DTO.

Cosa succede con i tipi di riferimento nullable?

Abilita i Tipi Nullable nella configurazione per ottenere string? ecc. Utile per i campi JSON opzionali. Richiede il contesto nullable nel tuo progetto.

I miei dati vengono inviati da qualche parte?

No. La generazione viene eseguita nel tuo browser.

Posso usarlo con System.Text.Json?

Sì. Le classi generate funzionano con JsonSerializer.Deserialize<T>(). Aggiungi using System.Text.Json.Serialization; se hai bisogno di attributi personalizzati.

Cosa succede se le mie chiavi JSON non corrispondono alla nomenclatura C#?

Usa [JsonPropertyName("json_key")] sulla proprietà, o configura JsonSerializerOptions.PropertyNamingPolicy per camelCase.

Strumenti correlati

System.Text.Json. Newtonsoft.Json. Specifica JSON. RFC 8259. MDN. .NET. Postman.