Kā konvertēt JSON uz C# klasi

Ka Konvertet Json Uz C Klasi



JSON vai JavaScript objektu apzīmējums ir balstīta uz JavaScript programmēšanas valodas apakškopu, taču tā ir neatkarīga no valodas un to var izmantot ar jebkuru programmēšanas valodu, kurai ir JSON parsētājs. Izmantot JSON datus C# programmēšanā, nepieciešams konvertēt JSON uz a C# klase . Tas programmētājiem ļauj mijiedarboties ar datiem drošā veidā, kas samazina kļūdu risku un padara kodu vienkāršāku uzturēšanu.

Strādājot ar JSON datiem C# bieži ir nepieciešams konvertēt JSON dati iekšā C# nodarbības ko var viegli rediģēt un izmantot lietojumprogrammā. Šajā apmācībā tiks apskatīts konvertēšanas process JSON datus uz C# klasēm, ar kodu piemēriem, kas jums palīdzēs.







Kā pārveidot JSON par C# klasi

Darbības, lai pārvērstu a JSON uz a C# klase ir:



1. darbība: analizējiet JSON datus



Pirmais solis konvertēšanā JSON uz a C# klase ir analizēt JSON datus un noteikt to struktūru. Tas ietver datu atslēgu vai rekvizītu un tiem atbilstošo datu tipu identificēšanu. Kad šī informācija ir apkopota, mēs varam sākt veidot atbilstošu C# klasi, kas pārstāvēs JSON datus.





2. darbība. Izveidojiet C# klasi, kas attēlo JSON datus

The JSON datu nosaukums tiek izmantots, lai definētu klasi. Šajā klasē mēs definējam rekvizītus, kas atbilst atslēgām JSON datus. Mēs iestatām rekvizītu datu tipus, lai tie atbilstu vērtību datu tipiem JSON datus. Piemēram, ja atslēga ir JSON datiem ir virknes vērtība, atbilstošo rekvizītu C# klasē definējam kā virkni.



3. darbība. Deserializējiet JSON datus

Pēc C# klases izveides nākamais solis ir deserializēt JSON datus klases instancē. Tas ir iespējams ar Newtonsoft.Json bibliotēka, kas nodrošina vienkāršu API deserializēšanai JSON datus. Jums ir jāinstalē un jāimportē Newtonsoft.Json pakotni, lai to izmantotu savā kodā. Izveidojiet eksemplāru JsonSerializer klasē un zvaniet uz Deserializēt metodi, nododot JSON dati kā virkne un C# klase kā vispārējs tipa parametrs:

izmantojot Newtonsoft.Json;

// JSON dati
virkne json = '{' nosaukums ':' Džons Smits ',' vecums ':30}' ;
// C # klase
publiskā klase Persona
{
publiskā virkne Nosaukums { gūt; komplekts ; }
publisks int Vecums { gūt; komplekts ; }
}
// Deserializējiet JSON datus personas objektā
Personas persona = JsonConvert.DeserializeObject < Persona > ( json ) ;

The JSON dati šajā piemērā ir vienkāršs objekts ar nosaukumu un vecuma rekvizītu, un C# klase ir Personas klase ar līdzīgām īpašībām. JsonConvert.DeserializeObject tiek izmantots konvertēšanai JSON datus personas objektā, ko var rediģēt un izmantot lietojumprogrammā.

4. darbība: manipulējiet ar C# objektu

Pēc deserializācijas JSON dati uz a C# objekts , ar to var manipulēt un izmantot lietojumprogrammā pēc vēlēšanās. Rekvizītus var nolasīt vai iestatīt, metodes var izsaukt, un objektu var nodrošināt kā parametru citām procedūrām vai funkcijām.

Šeit ir piemērs, kā strādāt ar Persona objekts, ko izveidojāt iepriekšējā darbībā:

// Iegūstiet cilvēku vārds
virknes nosaukums = persona.Vārds;

// Iestatīt personu'
s vecums
persona.Vecums = 31 ;

// Izsauciet metodi personas objektam
persona.DrukātDetaļas ( ) ;

Personas objekts šajā piemērā tiek izmantots, lai iegūtu personas vārdu, iestatītu personas vecumu un izsauktu DrukātDetaļas metode uz objektu.

Šeit ir pilns kods, kas parāda, kā to izdarīt pārveidot JSON par C# klasi .

izmantojot sistēmu;
izmantojot Newtonsoft.Json;

nosaukumvieta JsonToClassExample
{
klases programma
{
statiskā tukšums Galvenā ( virkne [ ] args )
{
virkne json = @ '{
'firstName': 'Larijs',
'uzvārds': 'Kevins',
'adrese': {
'iela': 'Main Street',
'pilsēta': 'Venēcija',
}
}'
;

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

Console.WriteLine ( 'Pirmais vārds ir:' + myObject.firstName ) ;
Console.WriteLine ( 'Uzvārds ir:' + myObject.lastName ) ;
Console.WriteLine ( 'Iela ir:' + myObject.address.street ) ;
Console.WriteLine ( 'Pilsēta ir:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

publiskās klases saknes objekts
{
publiska virkne vārds Name { gūt; komplekts ; }
publiska virkne uzvārds { gūt; komplekts ; }
publiskā adrese { gūt; komplekts ; }
}

publiskā klase Adrese
{
publiskā stīgu iela { gūt; komplekts ; }
publiska stīgu pilsēta { gūt; komplekts ; }
}
}

Iepriekš minētais kods parāda, kā lietot Newtonsoft.Json NuGet pakotne uz deserializēt a JSON virkne C# klasē . JSON virkne ietver informāciju par personas vārdu un uzvārdu, kā arī tās adresi (iela un pilsēta). Kā C# klases, Rootobject un Address klases nosaka JSON datu struktūru.

The JsonConvert.DeserializeObject metode tiek izmantota, lai pārveidotu JSON virkni par a Saknes objekts piemēram. Pēc tam dati tiek parādīti konsolē, piekļūstot atribūtiem Saknes objekts un Adrešu klases. The Console.ReadLine metode tiek izmantota, lai apturētu programmu, pirms tā tiek pārtraukta.

Izvade

Citi veidi, kā konvertēt JSON uz C#

Varat arī kopēt JSON datus starpliktuvē un izmantojiet a JSON uz C# klases ģeneratoru lai ģenerētu C# klasi. Tiešsaistē ir pieejami vairāki rīki, piemēram Json2CSharp un QuickType , kas var palīdzēt jums izveidot C# klasi no JSON datus. Ielīmējiet JSON datus attiecīgajā laukā un ļaujiet rīkam ģenerēt jūsu vietā C# klasi. Šī pieeja ir vienkārša un ātra. Tomēr mācību nolūkos jums jāievēro pirmā metode.

Secinājums

JSON datu pārveidošana par C# klasi ietver analīzi JSON datus, izveidojot atbilstošu C# klasi un deserializējot JSON datus C# klases objektā. Šis process var būt noderīgs, strādājot ar JSON datus C# lietojumprogrammās, atvieglojot datu lasīšanu, manipulēšanu un nosūtīšanu uz tīmekļa pakalpojumiem vai API. Lai ātri tulkotu JSON uz C# , varat izmantot arī vairākus tīmekļa rīkus, piemēram Json2CSharp un QuickType .