Kuidas teisendada JSON C# klassiks

Kuidas Teisendada Json C Klassiks



JSON või JavaScripti objekti märkimine põhineb JavaScripti programmeerimiskeele alamhulgal, kuid see on keelest sõltumatu ja seda saab kasutada mis tahes programmeerimiskeelega, millel on JSON-parser. Kasutada JSON andmed C# programmeerimises, tuleb teisendada JSON kuni a C# klass . See võimaldab programmeerijatel andmetega tüübikindlalt suhelda, mis vähendab vigade ohtu ja muudab koodi hooldamise lihtsamaks.

Tõõtan koos JSON C#-s olevad andmed nõuavad sageli teisendamist JSON-i andmed sisse C# klassid mida saab rakenduses hõlpsasti redigeerida ja kasutada. See õpetus käsitleb teisendamise protsessi JSON andmed C# klassidesse koos koodinäidetega, mis aitavad teid sellel teel.







Kuidas teisendada JSON C#-klassiks

Sammud teisendamiseks a JSON kuni a C# klass on:



1. toiming: analüüsige JSON-i andmeid



Esimene samm teisendamisel JSON kuni a C# klass on analüüsida JSON-i andmeid ja määrata nende struktuur. See hõlmab andmete võtmete või atribuutide ja neile vastavate andmetüüpide tuvastamist. Kui see teave on kogutud, saame hakata looma vastavat C#-klassi, mis esindab JSON-andmeid.





2. samm: looge C# klass, mis esindab JSON-i andmeid

The JSON Andmete nime kasutatakse siis klassi määratlemiseks. Selles klassis määratleme atribuudid, mis vastavad klahvidele JSON andmeid. Seadistasime atribuutide andmetüübid, et need sobiksid väärtuste andmetüüpidega JSON andmeid. Näiteks kui võti JSON andmetel on stringi väärtus, defineerime vastava omaduse C# klassis stringina.



3. toiming: JSON-andmete serialiseerige

Pärast C# klassi loomist on järgmine samm deserialiseerida JSON andmed klassi eksemplari. See on võimalik koos Newtonsoft.Json raamatukogu, mis pakub deserialiseerimiseks lihtsat API-d JSON andmeid. Peate installima ja importima Newtonsoft.Json paketti, et seda oma koodis kasutada. Loo eksemplar JsonSerializer klassi ja helistage Deserialiseerida meetod, üleandmine JSON andmed stringina ja C# klass üldise tüübi parameetrina:

kasutades Newtonsoft.Json;

// JSON-i andmed
string json = '{' nimi ':' John Smith ',' vanus ':30}' ;
// C # klass
avalik klass Isik
{
avalik string Nimi { saada; seatud ; }
avalik int Vanus { saada; seatud ; }
}
// Deserialiseerige JSON-andmed isikuobjektiks
Isik isik = JsonConvert.DeserializeObject < Isik > ( json ) ;

The JSON Andmed selles näites on lihtne objekt nime ja vanuse atribuudiga ning klass C# on sarnaste omadustega klass Person. JsonConvert.DeserializeObject kasutatakse teisendamiseks JSON andmed isikuobjektiks, mida saab redigeerida ja rakenduses kasutada.

4. samm: manipuleerige C# objektiga

Pärast deserialiseerimist JSON-i andmed sisse a C# objekt , saab seda soovi korral rakenduses manipuleerida ja kasutada. Atribuute saab lugeda või seada, meetodeid saab kutsuda ja objekti saab pakkuda parameetrina teistele protseduuridele või funktsioonidele.

Siin on näide, kuidas töötada Isik eelmises etapis tehtud objekt:

// Võtke inimene kätte nimi
string nimi = isik.Nimi;

// Määra inimene'
s vanus
inimene.Vanus = 31 ;

// Kutsuge isikobjektil meetod välja
isik.Prindi üksikasjad ( ) ;

Selles näites kasutatakse isikuobjekti isiku nime saamiseks, isiku vanuse määramiseks ja helistamiseks Prindi üksikasjad meetod objektil.

Siin on täielik kood, mis näitab, kuidas seda teha teisendada JSON C# klassiks .

süsteemi kasutamine;
kasutades Newtonsoft.Json;

nimeruum JsonToClassExample
{
klassi programm
{
staatiline tühimik Peamine ( string [ ] args )
{
string json = @ '{
'firstName': 'Larry',
'perenimi': 'Kevin',
'aadress': {
'tänav': 'Main Street',
'linn': 'Veneetsia',
}
}'
;

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

Console.WriteLine ( 'Eesnimi on:' + myObject.firstName ) ;
Console.WriteLine ( 'Perekonnanimi on:' + minuObject.perenimi ) ;
Console.WriteLine ( 'Tänav on:' + minuObjekt.aadress.tänav ) ;
Console.WriteLine ( 'Linn on:' + minuObjekt.aadress.linn ) ;


Console.ReadLine ( ) ;
}
}

avalik klass Rootoobject
{
avalik string eesnimi { saada; seatud ; }
avalik string perekonnanimi { saada; seatud ; }
avaliku aadressi aadress { saada; seatud ; }
}

avalik klass Aadress
{
avalik stringitänav { saada; seatud ; }
avalik stringlinn { saada; seatud ; }
}
}

Ülaltoodud kood näitab, kuidas seda kasutada Newtonsoft.Json NuGeti pakett juurde deserialiseerima a JSON-string C# klassi . JSON-string sisaldab teavet inimese ees- ja perekonnanime ning aadressi (tänav ja linn) kohta. C# klassidena loovad klassid Rootobject ja Address JSON-andmete struktuuri.

The JsonConvert.DeserializeObject meetodit kasutatakse JSON-stringi teisendamiseks a-ks Juurobjekt näiteks. Seejärel kuvatakse andmed konsoolil, avades atribuutide Juurobjekt ja aadressiklassid. The Console.ReadLine meetodit kasutatakse programmi peatamiseks enne selle lõpetamist.

Väljund

Muud võimalused JSON-i teisendamiseks C#-ks

Samuti saate kopeerida JSON andmed lõikepuhvrisse ja kasutage a JSON-st C# klassi generaator C# klassi genereerimiseks. Internetis on mitmeid tööriistu, nt Json2CSharp ja QuickType , mis aitab teil luua oma C# klassi JSON andmeid. Kleepige JSON andmed vastavale väljale ja lase tööriistal genereerida enda jaoks C# klass. See lähenemine on lihtne ja kiire. Kuid õppimise eesmärgil peate järgima esimest meetodit.

Järeldus

JSON-andmete teisendamine C#-klassi hõlmab analüüsimist JSON andmed, vastava C#-klassi loomine ja JSON-andmete deserialiseerimine C#-klassi objektiks. See protsess võib olla kasulik töötamisel JSON andmed C# rakendustes, muutes andmete lugemise, töötlemise ja saatmise veebiteenustele või API-dele lihtsamaks. Kiireks tõlkimiseks JSON-st C#-ks , võite kasutada ka mitmeid veebitööriistu, näiteks Json2CSharp ja QuickType .