Hogyan lehet a JSON-t C# osztályba konvertálni

Hogyan Lehet A Json T C Osztalyba Konvertalni



JSON vagy JavaScript objektum jelölés a JavaScript programozási nyelv egy részhalmazán alapul, de nyelvfüggetlen, és bármilyen JSON-elemzővel rendelkező programozási nyelvvel használható. Használni JSON adatokat a C# programozásban, konvertálni kell JSON a C# osztály . Ez lehetővé teszi a programozók számára, hogy típusbiztos módon kommunikáljanak az adatokkal, ami csökkenti a hibák kockázatát és egyszerűbbé teszi a kód karbantartását.

Dolgozni vele JSON A C#-ban lévő adatok gyakran szükségessé teszik a JSON adatok -ba C# osztályok amelyek könnyen szerkeszthetők és használhatók az alkalmazásban. Ez az oktatóanyag az átalakítás folyamatát mutatja be JSON adatokat a C# osztályokba, kódpéldákkal, amelyek segítenek az út során.







JSON konvertálása C# osztályba

A konvertálás lépései a JSON a C# osztály vannak:



1. lépés: Elemezze a JSON-adatokat



Az átalakítás első lépése JSON a C# osztály A JSON-adatok elemzése és szerkezetének meghatározása. Ez magában foglalja az adatok kulcsainak vagy tulajdonságainak és a hozzájuk tartozó adattípusoknak az azonosítását. Miután összegyűjtöttük ezeket az információkat, megkezdhetjük a megfelelő C# osztály létrehozását, amely a JSON-adatokat fogja képviselni.





2. lépés: Hozzon létre egy C# osztályt, amely a JSON-adatokat képviseli

A JSON az adatok neve ezután egy osztály meghatározására szolgál. Ezen az osztályon belül olyan tulajdonságokat határozunk meg, amelyek megegyeznek a kulcsokkal JSON adat. A tulajdonságok adattípusait úgy állítottuk be, hogy azok megfeleljenek a -ban található értékek adattípusainak JSON adat. Például, ha egy kulcs a JSON az adatoknak egy string értéke van, a megfelelő tulajdonságot a C# osztályban karakterláncként definiáljuk.



3. lépés: Deszerializálja a JSON-adatokat

A C# osztály létrehozása után a következő lépés a deszerializálás JSON az adatokat egy osztálypéldányba. Ez lehetséges a Newtonsoft.Json könyvtár, amely egy egyszerű API-t biztosít a deszerializáláshoz JSON adat. Telepítenie és importálnia kell a Newtonsoft.Json csomagot, hogy felhasználhassa azt a kódjában. Hozzon létre egy példányt a JsonSerializer osztályt, és hívja fel a Deszerializálni módszer, leadása a JSON az adat karakterláncként és a C# osztály általános típusparaméterként:

a Newtonsoft.Json használatával;

// JSON adatok
string json = '{' név ':' John Smith ',' kor ':30}' ;
// C # osztály
nyilvános osztály Személy
{
nyilvános karakterlánc Név { kap; készlet ; }
nyilvános int Kor { kap; készlet ; }
}
// Deszerializálja a JSON-adatokat egy Person objektummá
Személy személy = JsonConvert.DeserializeObject < Személy > ( json ) ;

A JSON Az adat ebben a példában egy egyszerű objektum névvel és kor tulajdonsággal, a C# osztály pedig egy hasonló tulajdonságokkal rendelkező Person osztály. JsonConvert.DeserializeObject átalakítására használják JSON adatokat egy Személy objektummá, amely szerkeszthető és használható az alkalmazásban.

4. lépés: Manipulálja a C# objektumot

Deszerializálása után a JSON adatok ba be C# objektum , tetszés szerint manipulálható és használható az alkalmazásban. A tulajdonságok beolvashatók vagy beállíthatók, a metódusok meghívhatók, és az objektum paraméterként megadható más eljárásokhoz vagy függvényekhez.

Íme egy példa arra, hogyan kell dolgozni a Személy az előző lépésben elkészített objektum:

// Szerezd meg az embert a neve
string name = személy.Név;

// Állítsa be a személyt'
s kora
személy.Kor = 31 ;

// Hívjon egy metódust a személy objektumon
személy.NyomtatásRészletek ( ) ;

Ebben a példában a személy objektumot a személy nevének lekérésére, a személy életkorának beállítására és a PrintDetails módszer az objektumon.

Itt van egy teljes kód, amely bemutatja, hogyan kell konvertálja a JSON-t C# osztályba .

Rendszer használata;
a Newtonsoft.Json használatával;

névtér JsonToClassExample
{
osztály Programja
{
statikus üres Fő ( húr [ ] args )
{
string json = @ '{
'firstName': 'Larry',
'lastName': 'Kevin',
'cím': {
'street': 'Main Street',
'város': 'Velence',
}
}'
;

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

Console.WriteLine ( 'A keresztnév:' + myObject.firstName ) ;
Console.WriteLine ( 'A vezetéknév:' + myObject.lastName ) ;
Console.WriteLine ( 'Az utca:' + myObject.address.street ) ;
Console.WriteLine ( 'A város:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

nyilvános osztály Rootoobject
{
nyilvános karakterlánc keresztnév { kap; készlet ; }
nyilvános karakterlánc vezetéknév { kap; készlet ; }
nyilvános cím címe { kap; készlet ; }
}

nyilvános osztály Cím
{
nyilvános vonós utca { kap; készlet ; }
nyilvános húrváros { kap; készlet ; }
}
}

A fenti kód bemutatja, hogyan kell használni Newtonsoft.Json NuGet csomag nak nek deszerializálni a JSON karakterlánc egy C# osztályba . A JSON-karakterlánc egy személy vezeték- és utónevére, valamint címére (utca és város) vonatkozó információkat tartalmaz. C# osztályként a Rootobject és Address osztályok határozzák meg a JSON-adatok szerkezetét.

A JsonConvert.DeserializeObject metódust használják a JSON karakterlánc a Rootoobject példa. Az adatok ezután megjelennek a konzolon az attribútumok elérésével Rootoobject és Cím osztályok. A Console.ReadLine metódus a program leállítására szolgál, mielőtt leállna.

Kimenet

Egyéb módszerek a JSON konvertálására C#-ra

Másolhatja is a JSON adatokat a vágólapra, és használja a JSON–C# osztály generátor a C# osztály létrehozásához. Az interneten számos eszköz található, mint pl Json2CSharp és QuickType , amely segíthet a C# osztály létrehozásában JSON adat. Illessze be a JSON adatokat a megfelelő mezőbe, és hagyja, hogy az eszköz előállítsa Önnek a C# osztályt. Ez a megközelítés egyszerű és gyors. Tanulási célokra azonban az első módszert kell követnie.

Következtetés

JSON adatok konvertálása C# osztályba elemzi a JSON adatokat, létrehoz egy megfelelő C# osztályt, és deszerializálja a JSON adatokat a C# osztály objektumba. Ez a folyamat hasznos lehet a vele való munka során JSON adatok C# alkalmazásokban, megkönnyítve az adatok olvasását, kezelését és webszolgáltatásokba vagy API-kba való küldését. Gyors fordításhoz JSON a C#-ra , számos webes eszközt is használhat, például Json2CSharp és QuickType .