JSON til C# Konverterer
Konverter JSON til C#-klasser og POCO-objekter for .NET-utvikling
JSON-inndata
C#-utdata
Hva er JSON til C#?
Når du integrerer et tredjeparts API i .NET-appen din, får du vanligvis JSON-dokumenter men trenger typede C#-klasser for å deserialisere svaret. Å skrive disse klassene manuelt er kjedelig — spesielt med dypt nestede objekter. Dette verktøyet genererer automatisk C# POCO-er fra JSON-en din. Lim inn et eksempel-API-svar og få klassedefinisjoner klare til å droppe inn i prosjektet ditt. De fungerer rett ut av boksen med System.Text.Json eller Newtonsoft.Json.
Konverteringen kjøres i nettleseren din. Bruk konfigurasjonsalternativene til å sette klassenavnet, velge egenskaper vs. felt og aktivere nullable-typer. Ingenting sendes til en server.
Slik bruker du verktøyet
Lim inn JSON
Lim inn JSON i venstre editor eller last opp en fil. Bruk Eksempel for eksempeldata. Sett rotklassenavnet og alternativene (Egenskaper, Nullable) i konfigurasjonspanelet.
Se gjennom klassene
Høyre panel viser genererte C#-klasser. Nestede objekter blir egne klasser. Matriser blir List<T> eller T[]. Legg til [JsonPropertyName]-attributter ved behov for forskjellige JSON-nøkkelnavn.
Kopier eller last ned
Bruk Kopier eller Last ned for å hente koden. Lim inn i .NET-prosjektet ditt. For å formatere JSON først, bruk JSON-formaterer. For validering, bruk JSON-validator.
JSON til C# eksempler
Her er et eksempel på generering av C#-klasser fra et JSON-objekt.
Eksempel: Abonnentpost
JSON-inndata:
Generert C#-utdata:
Når JSON til C# er nyttig
Når du integrerer REST-API-er i .NET, ASP.NET Core eller Blazor, trenger du C#-typer for deserialisering. Ved å lime inn et eksempelsvar her får du POCO-er du kan bruke med JsonSerializer.Deserialize<T>() eller Newtonsoft.Json. For API-testing er Postman og jq nyttige.
Ofte stilte spørsmål
Hvordan deserialiserer jeg JSON i C#?
Bruk JsonSerializer.Deserialize<KlassenDin>(jsonString) fra System.Text.Json, eller JsonConvert.DeserializeObject<KlassenDin>(jsonString) fra Newtonsoft.Json. Du trenger en matchende C#-klasse — generer en her ved å lime inn JSON-en din.
Hva hvis JSON-nøklene mine ikke samsvarer med C#-navnekonvensjoner?
Bruk [JsonPropertyName("json_key")] på egenskapen (System.Text.Json), eller [JsonProperty("json_key")] (Newtonsoft). Du kan også konfigurere JsonSerializerOptions.PropertyNamingPolicy til JsonNamingPolicy.CamelCase for automatisk mapping.
Hva med nullable referansetyper i C#?
Aktiver Nullable Types i konfigurasjonen for å generere string?, int?, osv. Nyttig når JSON-felter kan være null eller fraværende. Du trenger #nullable enable eller en nullable-bevisst prosjektinnstilling.
Sendes JSON-en min til en server?
Nei. Klassegenerering kjører helt i nettleseren din. JSON-en din forlater aldri maskinen din, så det er trygt å bruke med produksjons-API-nøkler eller sensitive data.
Egenskaper vs felt — hva bør jeg bruke?
Egenskaper (get; set;) er standarden for DTO-er i C#. Både System.Text.Json og Newtonsoft.Json serialiserer offentlige egenskaper som standard. Felt fungerer, men er mindre vanlig for datatransferobjekter.
Relaterte verktøy
System.Text.Json. Newtonsoft.Json. JSON-spesifikasjon. RFC 8259. MDN. .NET. Postman.