Kako pretvoriti JSON u C# klasu

Kako Pretvoriti Json U C Klasu



JSON ili JavaScript objektna notacija temelji se na podskupu programskog jezika JavaScript, ali je neovisan o jeziku i može se koristiti s bilo kojim programskim jezikom koji ima JSON parser. Koristiti JSON podatke u C# programiranju, potrebno je pretvoriti JSON do a C# klasa . To programerima omogućuje interakciju s podacima na način siguran za tip, što smanjuje rizik od pogrešaka i čini kôd jednostavnijim za održavanje.

Raditi sa JSON podaci u C# često zahtijevaju pretvaranje JSON podaci u C# klase koji se mogu lako uređivati ​​i koristiti u aplikaciji. U ovom će se vodiču opisati postupak pretvaranja JSON podataka u C# klase, s primjerima koda koji će vam pomoći na putu.







Kako pretvoriti JSON u C# klasu

Koraci za pretvaranje a JSON do a C# klasa su:



1. korak: analizirajte JSON podatke



Prvi korak u pretvorbi JSON do a C# klasa je analizirati JSON podatke i odrediti njihovu strukturu. To uključuje identificiranje ključeva ili svojstava podataka i njihovih odgovarajućih tipova podataka. Nakon što se ove informacije prikupe, možemo početi stvarati odgovarajuću C# klasu koja će predstavljati JSON podatke.





Korak 2: Napravite C# klasu koja predstavlja JSON podatke

The JSON ime podataka se zatim koristi za definiranje klase. Unutar ove klase definiramo svojstva koja odgovaraju ključevima u JSON podaci. Postavljamo tipove podataka svojstava da odgovaraju tipovima podataka vrijednosti u JSON podaci. Na primjer, ako je ključ u JSON podatak ima vrijednost niza, odgovarajuće svojstvo u C# klasi definiramo kao niz.



Korak 3: Deserijalizirajte JSON podatke

Nakon stvaranja C# klase, sljedeći korak je deserijalizacija JSON podataka u instancu klase. To je moguće s Newtonsoft.Json biblioteka, koja pruža jednostavan API za deserijalizaciju JSON podaci. Morate instalirati i uvesti Newtonsoft.Json paket kako biste ga upotrijebili u svom kodu. Stvorite instancu JsonSerializer razreda i nazovite Deserijalizirati metoda, predaja u JSON podaci kao niz i C# klasa kao generički parametar tipa:

koristeći Newtonsoft.Json;

// JSON podaci
niz json = '{' Ime ':' John Smith ',' dob ':30}' ;
// C # razred
javna klasa Osoba
{
javni niz Naziv { dobiti; postaviti ; }
public int Dob { dobiti; postaviti ; }
}
// Deserijalizirajte JSON podatke u objekt osobe
Osoba osoba = JsonConvert.DeserializeObject < Osoba > ( json ) ;

The JSON data u ovom primjeru je jednostavan objekt sa svojstvom ime i dob, a klasa C# je klasa osoba sa sličnim svojstvima. JsonConvert.DeserializeObject koristi se za pretvaranje JSON podataka u objekt osobe koji se može uređivati ​​i koristiti u aplikaciji.

Korak 4: Manipulirajte C# objektom

Nakon deserijalizacije JSON podaci u a C# objekt , njime se može manipulirati i koristiti u aplikaciji po želji. Svojstva se mogu čitati ili postavljati, metode se mogu pozvati, a objekt se može dati kao parametar drugim procedurama ili funkcijama.

Evo primjera kako raditi s Osoba objekt koji ste napravili u prethodnom koraku:

// Dobiti osobu ime
ime niza = osoba.Ime;

// Postavi osobu'
s dobi
osoba.Dob = 31 ;

// Pozovite metodu na objektu osobe
osoba.PrintDetails ( ) ;

Objekt person koristi se u ovom primjeru za dobivanje imena osobe, postavljanje njezine dobi i pozivanje PrintDetails metoda na objektu.

Evo cjelovitog koda koji pokazuje kako pretvoriti JSON u C# klasu .

korištenje sustava;
koristeći Newtonsoft.Json;

prostor imena JsonToClassExample
{
razreda Program
{
statička praznina Glavni ( niz [ ] args )
{
niz json = @ '{
'firstName': 'Larry',
'prezime': 'Kevin',
'adresa': {
'ulica': 'Glavna ulica',
'grad': 'Venecija',
}
}'
;

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

Konzola.WriteLine ( 'Prvo ime je:' + myObject.firstName ) ;
Konzola.WriteLine ( 'Prezime je:' + mojObjekt.prezime ) ;
Konzola.WriteLine ( 'Ulica je:' + mojObjekt.adresa.ulica ) ;
Konzola.WriteLine ( 'Grad je:' + mojObjekt.adresa.grad ) ;


Konzola.ReadLine ( ) ;
}
}

javna klasa Rootobject
{
javni niz firstName { dobiti; postaviti ; }
javni niz prezimena { dobiti; postaviti ; }
adresa javne adrese { dobiti; postaviti ; }
}

adresa javne klase
{
javna string ulica { dobiti; postaviti ; }
javni niz grad { dobiti; postaviti ; }
}
}

Gornji kod pokazuje kako se koristi Newtonsoft.Json NuGet paket do deserijalizirati a JSON niz u C# klasu . JSON string sadrži podatke o imenu i prezimenu osobe, kao i o adresi (ulica i grad). Kao C# klase, klase Rootobject i Address uspostavljaju strukturu JSON podataka.

The JsonConvert.DeserializeObject koristi se za pretvaranje JSON niza u a Rootobjekt primjer. Podaci se zatim prikazuju na konzoli pristupom atributima Rootobjekt i Adresa klase. The Konzola.ReadLine Metoda se koristi za zaustavljanje programa prije nego što završi.

Izlaz

Drugi načini za pretvaranje JSON-a u C#

Također možete kopirati JSON podatke u međuspremnik i koristite a Generator klase JSON u C# za generiranje C# klase. Postoji nekoliko alata na internetu, kao što su Json2CSharp i QuickType , koji vam mogu pomoći da generirate svoju C# klasu iz JSON podaci. Zalijepite JSON podatke u odgovarajuće polje i prepustite alatu da za vas generira C# klasu. Ovaj pristup je jednostavan i brz. Međutim, u svrhu učenja, morate slijediti prvu metodu.

Zaključak

Pretvaranje JSON podataka u C# klasu uključuje analiziranje JSON podataka, stvaranje odgovarajuće C# klase i deserijalizacija JSON podataka u objekt C# klase. Ovaj postupak može biti koristan pri radu s JSON podataka u C# aplikacijama, što olakšava čitanje, rukovanje i slanje podataka web uslugama ili API-jima. Za brzo prevođenje JSON u C# , također možete koristiti nekoliko web alata, kao što su Json2CSharp i QuickType .