Hvordan konvertere JSON til C# Class

Hvordan Konvertere Json Til C Class



JSON eller JavaScript-objektnotasjon er basert på et undersett av JavaScript-programmeringsspråket, men det er språkuavhengig og kan brukes med et hvilket som helst programmeringsspråk som har en JSON-parser. Å bruke JSON data i C#-programmering, må man konvertere JSON til en C#-klassen . Dette gjør det mulig for programmerere å samhandle med dataene på en typesikker måte, noe som reduserer risikoen for feil og gjør koden enklere å vedlikeholde.

Jobber med JSON data i C# krever ofte konvertering av JSON-data inn i C#-klasser som lett kan redigeres og brukes i applikasjonen. Denne opplæringen vil gå over prosessen med å konvertere JSON data til C#-klasser, med kodeeksempler for å hjelpe deg på veien.







Hvordan konvertere en JSON til en C#-klasse

Fremgangsmåten for å konvertere en JSON til en C# klasse er:



Trinn 1: Analyser JSON-dataene



Det første trinnet i konvertering JSON til en C#-klassen er å analysere JSON-dataene og bestemme strukturen. Dette innebærer å identifisere nøklene eller egenskapene til dataene og deres tilsvarende datatyper. Når denne informasjonen er samlet, kan vi begynne å lage en tilsvarende C#-klasse som vil representere JSON-dataene.





Trinn 2: Lag en C#-klasse som representerer JSON-dataene

De JSON datanavnet brukes deretter til å definere en klasse. Inne i denne klassen definerer vi egenskaper som samsvarer med nøklene i JSON data. Vi setter datatypene til egenskapene til å samsvare med datatypene til verdiene i JSON data. For eksempel, hvis en nøkkel i JSON data har en verdi av en streng, definerer vi den tilsvarende egenskapen i C#-klassen som en streng.



Trinn 3: Deserialiser JSON-dataene

Etter å ha opprettet C#-klassen, er neste trinn å deserialisere JSON data inn i en klasseforekomst. Dette er mulig med Newtonsoft.Json bibliotek, som gir en enkel API for deserialisering JSON data. Du må installere og importere Newtonsoft.Json pakken for å bruke den i koden din. Opprett en forekomst av JsonSerializer klasse og ring Deserialiser metode, innlevering av JSON data som en streng og C#-klassen som den generiske typeparameteren:

bruker Newtonsoft.Json;

// JSON-data
streng json = «{» Navn ':' John Smith ',' alder ':30}' ;
// C # klasse
person i offentlig klasse
{
offentlig streng navn { få; sett ; }
offentlig int Alder { få; sett ; }
}
// Deserialiser JSON-data til et Person-objekt
Person person = JsonConvert.DeserializeObject < Person > ( json ) ;

De JSON data i dette eksemplet er et enkelt objekt med en navn- og aldersegenskap, og C#-klassen er en Person-klasse med lignende egenskaper. JsonConvert.DeserializeObject brukes til å konvertere JSON data inn i et Person-objekt som kan redigeres og brukes i applikasjonen.

Trinn 4: Manipuler C#-objektet

Etter å ha deserialisert JSON-data inn i en C#-objekt , kan den manipuleres og brukes i applikasjonen etter ønske. Egenskaper kan leses eller settes, metoder kan påkalles, og objektet kan gis som en parameter til andre prosedyrer eller funksjoner.

Her er et eksempel på hvordan du kan jobbe med Person objekt du laget i forrige trinn:

// Få personen sitt navn
strengnavn = person.Navn;

// Still inn personen'
s alder
person.Alder = 31 ;

// Kalle en metode på personobjektet
person.PrintDetails ( ) ;

Personobjektet brukes i dette eksemplet for å få personens navn, angi personens alder og ringe Utskriftsdetaljer metode på objektet.

Her er en fullstendig kode som viser hvordan konvertere JSON til en C#-klasse .

bruker System;
bruker Newtonsoft.Json;

navneområde JsonToClassExample
{
klasseprogram
{
statisk tomrom Main ( streng [ ] args )
{
streng json = @ «{
'firstName': 'Larry',
'lastName': 'Kevin',
'adresse': {
'street': 'Main Street',
'city': 'Venezia',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < Rotobjekt > ( json ) ;

Console.WriteLine ( 'Fornavnet er:' + mittObject.firstName ) ;
Console.WriteLine ( 'Etternavnet er:' + mittObjekt.etternavn ) ;
Console.WriteLine ( 'Gaten er:' + minObject.address.gate ) ;
Console.WriteLine ( 'Byen er:' + minObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

offentlig klasse Rootobjekt
{
offentlig streng fornavn { få; sett ; }
offentlig streng etternavn { få; sett ; }
offentlig adresse { få; sett ; }
}

offentlig klasse adresse
{
offentlig strenggate { få; sett ; }
offentlig strengby { få; sett ; }
}
}

Koden ovenfor viser hvordan du bruker Newtonsoft.Json NuGet-pakke til deserialisere en JSON-streng til en C#-klasse . JSON-strengen omfatter informasjon om en persons for- og etternavn, samt adressen deres (gate og by). Som C#-klasser etablerer Rootobject- og Address-klassene strukturen til JSON-dataene.

De JsonConvert.DeserializeObject metoden brukes til å konvertere en JSON-streng til en Rotobjekt forekomst. Dataene vises deretter på konsollen ved å få tilgang til attributtene til Rotobjekt og adresseklasser. De Console.ReadLine metoden brukes til å stoppe programmet før det avsluttes.

Produksjon

Andre måter å konvertere JSON til C#

Du kan også kopiere JSON data til utklippstavlen og bruk en JSON til C# klasse generator for å generere C#-klassen. Det finnes flere verktøy på nett, som f.eks Json2CSharp og QuickType , som kan hjelpe deg med å generere C#-klassen din fra JSON data. Lim inn JSON data i det aktuelle feltet og la verktøyet generere C#-klassen for deg. Denne tilnærmingen er enkel og rask. Men for læringsformål må du følge den første metoden.

Konklusjon

Konvertering av JSON-data til en C#-klasse innebærer å analysere JSON data, lage en tilsvarende C#-klasse og deserialisere JSON-dataene til C#-klasseobjektet. Denne prosessen kan være nyttig når du arbeider med JSON data i C#-applikasjoner, noe som gjør det enklere å lese, manipulere og sende data til webtjenester eller APIer. For raskt å oversette JSON til C# , kan du også bruke flere nettverktøy, for eksempel Json2CSharp og QuickType .