Input JSON

Output C#

Cos'è JSON in C#?

C# utilizza classi e proprietà per rappresentare i dane. Quando consumi JSON da un'API o da una configurazione, hai bisogno di tipi C# corrispondenti per la deserializzazione. Questo narzedzie 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 narzedzie

1

Incolla JSON

Incolla il tuo JSON nell'editor sinistro o carica un plik. Usa Przyklad per dane 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

Kopiuj o scarica

Usa <strong>Kopiuj</strong> o <strong>Pobierz</strong> per ottenere il codice. Incollalo nel tuo progetto .NET. Per formattare prima il JSON, usa il Formater JSON. Per la validazione, usa il Walidator JSON.

Esempi JSON in C#

Ecco un esempio di generazione di classi C# da un oggetto JSON.

Przyklad: 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.

czesto zadawane pytania

Właściwości vs pola?

Właściwości używają get; i set;. System.Text.Json i Newtonsoft.Json domyślnie serializują właściwości. Pola działają, ale są mniej powszechne dla DTO.

Co z typami referencyjnymi nullable?

Włącz typy Nullable w konfiguracji, aby uzyskać string? itp. Przydatne dla opcjonalnych pól JSON. Wymaga kontekstu nullable w projekcie.

Czy moje dane są gdzieś wysyłane?

Nie. Generowanie działa w Twojej przeglądarce.

Czy mogę tego używać z System.Text.Json?

Tak. Wygenerowane klasy działają z JsonSerializer.Deserialize<T>(). Dodaj using System.Text.Json.Serialization; jeśli potrzebujesz atrybutów niestandardowych.

Co jeśli moje klucze JSON nie pasują do konwencji nazewnictwa C#?

Użyj [JsonPropertyName("json_key")] na właściwości lub skonfiguruj JsonSerializerOptions.PropertyNamingPolicy na camelCase.

powiazane narzedzia

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