Sådan konverteres JSON til C# Class

Sadan Konverteres Json Til C Class



JSON eller JavaScript-objektnotation er baseret på en delmængde af JavaScript-programmeringssproget, men det er sproguafhængigt og kan bruges med ethvert programmeringssprog, der har en JSON-parser. At bruge JSON data i C#-programmering, skal man konvertere JSON til en C# klasse . Dette gør det muligt for programmører at interagere med dataene på en typesikker måde, hvilket reducerer risikoen for fejl og gør koden nemmere at vedligeholde.

Arbejder med JSON data i C# kræver ofte konvertering af JSON-data ind i C# klasser som let kan redigeres og bruges i applikationen. Denne tutorial vil gennemgå processen med at konvertere JSON data til C# klasser, med kodeeksempler til at hjælpe dig på vej.







Sådan konverteres en JSON til en C#-klasse

Trinene til at konvertere en JSON til en C# klasse er:



Trin 1: Analyser JSON-dataene



Det første skridt i konverteringen JSON til en C# klasse er at analysere JSON-dataene og bestemme deres struktur. Dette involverer at identificere nøglerne eller egenskaberne for dataene og deres tilsvarende datatyper. Når disse oplysninger er indsamlet, kan vi begynde at oprette en tilsvarende C#-klasse, der repræsenterer JSON-dataene.





Trin 2: Opret en C#-klasse, der repræsenterer JSON-dataene

Det JSON datas navn bruges derefter til at definere en klasse. Inde i denne klasse definerer vi egenskaber, der matcher nøglerne i JSON data. Vi indstiller datatyperne for egenskaberne til at matche datatyperne for værdierne i JSON data. For eksempel, hvis en nøgle i JSON data har en værdi af en streng, definerer vi den tilsvarende egenskab i C#-klassen som en streng.



Trin 3: Deserialiser JSON-dataene

Efter at have oprettet C#-klassen, er næste trin at deserialisere JSON data ind i en klasseinstans. Dette er muligt med Newtonsoft.Json bibliotek, som giver en ligetil API til deserialisering JSON data. Du skal installere og importere Newtonsoft.Json pakke for at bruge den i din kode. Opret en instans af JsonSerializer klasse og ring til Deserialiser metode, aflevering af JSON data som en streng og C#-klassen som den generiske typeparameter:

ved hjælp af Newtonsoft.Json;

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

Det JSON data i dette eksempel er et simpelt objekt med en navn- og aldersegenskab, og C#-klassen er en Person-klasse med lignende egenskaber. JsonConvert.DeserializeObject bruges til at konvertere JSON data ind i et Person-objekt, der kan redigeres og bruges i applikationen.

Trin 4: Manipuler C#-objektet

Efter at have deserialiseret JSON-data ind i en C# objekt , den kan manipuleres og bruges i applikationen som ønsket. Egenskaber kan læses eller indstilles, metoder kan fremkaldes, og objektet kan leveres som en parameter til andre procedurer eller funktioner.

Her er et eksempel på, hvordan man arbejder med Person objekt du lavede i det forrige trin:

// Få personen 's navn
strengnavn = person.Navn;

// Indstil personen'
s alder
person.Alder = 31 ;

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

Personobjektet bruges i dette eksempel til at få personens navn, indstille personens alder og ringe til Udskriv detaljer metode på objektet.

Her er en komplet kode, der viser hvordan konverter JSON til en C#-klasse .

bruger System;
ved hjælp af Newtonsoft.Json;

navneområde JsonToClassExample
{
klasses program
{
statisk tomrum Main ( snor [ ] args )
{
streng json = @ '{
'firstName': 'Larry',
'efternavn': 'Kevin',
'adresse': {
'street': 'Main Street',
'city': 'Venedig',
}
}'
;

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

Console.WriteLine ( 'Fornavnet er:' + mitObjekt.fornavn ) ;
Console.WriteLine ( 'Efternavnet er:' + mitObjekt.efternavn ) ;
Console.WriteLine ( 'Gaden er:' + minObject.address.street ) ;
Console.WriteLine ( 'Byen er:' + minObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

offentlig klasse Rootobjekt
{
offentlig streng fornavn { få; sæt ; }
offentlig streng efternavn { få; sæt ; }
offentlig adresse { få; sæt ; }
}

offentlig klasse adresse
{
offentlig strygegade { få; sæt ; }
offentlig strygeby { få; sæt ; }
}
}

Ovenstående kode viser, hvordan du bruger Newtonsoft.Json NuGet-pakke til deserialisere -en JSON-streng til en C#-klasse . JSON-strengen omfatter oplysninger om en persons for- og efternavn samt deres adresse (gade og by). Som C#-klasser etablerer klasserne Rootobject og Address strukturen af ​​JSON-dataene.

Det JsonConvert.DeserializeObject metode bruges til at konvertere en JSON-streng til en Rodobjekt eksempel. Dataene vises derefter på konsollen ved at få adgang til attributterne for Rodobjekt og adresseklasser. Det Console.ReadLine metode bruges til at stoppe programmet, før det afsluttes.

Produktion

Andre måder at konvertere JSON til C#

Du kan også kopiere JSON data til udklipsholderen og brug en JSON til C# klasse generator for at generere C#-klassen. Der findes flere værktøjer online, som f.eks Json2CSharp og QuickType , der kan hjælpe dig med at generere din C#-klasse ud fra JSON data. Indsæt JSON data i det relevante felt og lad værktøjet generere C#-klassen for dig. Denne tilgang er ligetil og hurtig. Men af ​​hensyn til læring skal du følge den første metode.

Konklusion

Konvertering af JSON-data til en C#-klasse involverer at analysere JSON data, oprettelse af en tilsvarende C#-klasse og deserialisering af JSON-dataene til C#-klasseobjektet. Denne proces kan være nyttig, når du arbejder med JSON data i C#-applikationer, hvilket gør det nemmere at læse, manipulere og sende data til webtjenester eller API'er. At oversætte hurtigt JSON til C# , kan du også bruge flere webværktøjer, f.eks Json2CSharp og QuickType .