Kuinka muuntaa JSON C#-luokiksi

Kuinka Muuntaa Json C Luokiksi



JSON tai JavaScript-objektin merkintä perustuu JavaScript-ohjelmointikielen osajoukkoon, mutta se on kielestä riippumaton ja sitä voidaan käyttää minkä tahansa ohjelmointikielen kanssa, jossa on JSON-jäsennin. Käyttää JSON C#-ohjelmoinnin tiedot on muutettava JSON kohtaan a C# luokka . Tämä mahdollistaa ohjelmoijien vuorovaikutuksen tietojen kanssa tyyppiturvallisella tavalla, mikä vähentää virheiden riskiä ja tekee koodin ylläpidosta helpompaa.

kanssa JSON C#:n tiedot edellyttävät usein muuntamista JSON-tiedot sisään C# luokat joita voidaan helposti muokata ja käyttää sovelluksessa. Tässä opetusohjelmassa käydään läpi muuntamisprosessi JSON tiedot C#-luokille, ja koodiesimerkit auttavat sinua matkan varrella.







Kuinka muuntaa JSON C#-luokiksi

Vaiheet muuntamiseen a JSON kohtaan a C# luokka ovat:



Vaihe 1: Analysoi JSON-tiedot



Ensimmäinen askel muuntamisessa JSON kohtaan a C# luokka on analysoida JSON-dataa ja määrittää sen rakenne. Tämä sisältää tietojen avainten tai ominaisuuksien ja niitä vastaavien tietotyyppien tunnistamisen. Kun nämä tiedot on kerätty, voimme alkaa luoda vastaavaa C#-luokkaa, joka edustaa JSON-tietoja.





Vaihe 2: Luo C#-luokka, joka edustaa JSON-tietoja

The JSON datan nimeä käytetään sitten luokan määrittämiseen. Tämän luokan sisällä määritämme ominaisuudet, jotka vastaavat avaimia JSON tiedot. Asetamme ominaisuuksien tietotyypit vastaamaan arvojen tietotyyppejä JSON tiedot. Jos esimerkiksi avain JSON datalla on merkkijonon arvo, määritämme vastaavan ominaisuuden C#-luokassa merkkijonoksi.



Vaihe 3: Poista JSON-tietojen sarjat

Kun olet luonut C#-luokan, seuraava vaihe on deserialisoida JSON tiedot luokkaesiintymään. Tämä on mahdollista kanssa Newtonsoft.Json kirjasto, joka tarjoaa suoraviivaisen API:n sarjoitusta varten JSON tiedot. Sinun on asennettava ja tuotava Newtonsoft.Json pakettia käyttääksesi sitä koodissasi. Luo esiintymä JsonSerializer luokkaa ja soita Deserialoi menetelmällä luovuttamalla JSON data merkkijonona ja C#-luokka yleisenä tyyppiparametrina:

käyttäen Newtonsoft.Json;

// JSON-tiedot
merkkijono json = '{' nimi ':' John Smith ',' ikä ':30}' ;
// C #luokka
julkisen luokan henkilö
{
julkinen merkkijono Nimi { saada; aseta ; }
julkinen int Ikä { saada; aseta ; }
}
// Järjestä JSON-tiedot Person-objektiksi
Henkilöhenkilö = JsonConvert.DeserializeObject < Henkilö > ( json ) ;

The JSON Tämän esimerkin data on yksinkertainen objekti, jolla on nimi ja ikäominaisuus, ja C#-luokka on henkilöluokka, jolla on samanlaiset ominaisuudet. JsonConvert.DeserializeObject käytetään muuntamiseen JSON tiedot henkilö-objektiksi, jota voidaan muokata ja käyttää sovelluksessa.

Vaihe 4: Käsittele C#-objektia

Deserialisoinnin jälkeen JSON-tiedot osaksi a C#-objekti , sitä voidaan käsitellä ja käyttää sovelluksessa haluamallasi tavalla. Ominaisuuksia voidaan lukea tai asettaa, menetelmiä voidaan kutsua ja objekti voidaan antaa parametriksi muille proseduureille tai funktioille.

Tässä on esimerkki työskentelystä Henkilö edellisessä vaiheessa tekemäsi objekti:

// Hanki henkilö nimi
merkkijonon nimi = henkilö.Nimi;

// Aseta henkilö'
s ikä
henkilö.Ikä = 31 ;

// Kutsu menetelmä henkilöobjektille
henkilö.PrintDetails ( ) ;

Henkilö-objektia käytetään tässä esimerkissä henkilön nimen saamiseen, henkilön iän asettamiseen ja kutsumiseen Tulosta Tiedot menetelmä objektiin.

Tässä on täydellinen koodi, joka osoittaa, miten se tehdään muuntaa JSON C#-luokalle .

käyttämällä järjestelmää;
käyttäen Newtonsoft.Json;

nimitila JsonToClassExample
{
luokan ohjelma
{
staattinen tyhjyys Pää ( merkkijono [ ] args )
{
merkkijono json = @ '{
'firstName': 'Larry',
'lastName': 'Kevin',
'osoite': {
'street': 'Main Street',
'kaupunki': 'Venetsia',
}
}'
;

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

Console.WriteLine ( 'Etunimi on:' + myObject.firstName ) ;
Console.WriteLine ( 'Sukunimi on:' + myObject.lastName ) ;
Console.WriteLine ( 'Katu on:' + myObject.address.street ) ;
Console.WriteLine ( 'Kaupunki on:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

julkisen luokan juuriobjekti
{
julkinen merkkijono etunimi { saada; aseta ; }
julkinen merkkijono sukunimi { saada; aseta ; }
julkinen osoite { saada; aseta ; }
}

julkinen luokka Osoite
{
julkinen string street { saada; aseta ; }
julkinen merkkijonokaupunki { saada; aseta ; }
}
}

Yllä oleva koodi näyttää, kuinka sitä käytetään Newtonsoft.Json NuGet -paketti to deserialisoida a JSON-merkkijono C#-luokkaan . JSON-merkkijono sisältää tiedot henkilön etu- ja sukunimestä sekä osoitteesta (katu ja kaupunki). C#-luokina Rootobject- ja Address-luokat määrittävät JSON-tietojen rakenteen.

The JsonConvert.DeserializeObject -menetelmää käytetään JSON-merkkijonon muuntamiseen a Juuriobjekti ilmentymä. Tiedot näytetään sitten konsolissa käyttämällä attribuutteja Juuriobjekti ja osoiteluokat. The Console.ReadLine menetelmää käytetään ohjelman pysäyttämiseen ennen sen päättymistä.

Lähtö

Muita tapoja muuntaa JSON C#:ksi

Voit myös kopioida JSON tiedot leikepöydälle ja käytä a JSON-C#-luokan generaattori luodaksesi C#-luokan. Netistä löytyy useita työkaluja, mm Json2CSharp ja QuickType , joka voi auttaa sinua luomaan C#-luokkasi JSON tiedot. Liitä JSON tiedot sopivaan kenttään ja anna työkalun luoda C#-luokka puolestasi. Tämä lähestymistapa on suoraviivainen ja nopea. Oppimistarkoituksiin sinun on kuitenkin noudatettava ensimmäistä menetelmää.

Johtopäätös

JSON-tietojen muuntaminen C#-luokkaan sisältää analysoinnin JSON tiedot, vastaavan C#-luokan luominen ja JSON-tietojen sarjoittaminen C#-luokan objektiksi. Tämä prosessi voi olla hyödyllinen, kun työskentelet JSON tietoja C#-sovelluksissa, mikä helpottaa tietojen lukemista, käsittelyä ja lähettämistä verkkopalveluihin tai sovellusliittymiin. Kääntää nopeasti JSON to C# , voit myös käyttää useita verkkotyökaluja, kuten Json2CSharp ja QuickType .