Jak převést JSON do třídy C#

Jak Prevest Json Do Tridy C



JSON nebo Zápis objektů JavaScript je založen na podmnožině programovacího jazyka JavaScript, ale je jazykově nezávislý a lze jej použít s jakýmkoli programovacím jazykem, který má analyzátor JSON. Použít JSON data v programování v C# je třeba převést JSON do a třída C# . To umožňuje programátorům pracovat s daty typově bezpečným způsobem, což snižuje riziko chyb a zjednodušuje údržbu kódu.

Práce s JSON data v C# často vyžadují konverzi JSON data do třídy C# které lze snadno upravovat a používat v aplikaci. Tento tutoriál se bude zabývat procesem převodu JSON data do tříd C# s příklady kódu, které vám pomohou.







Jak převést JSON na třídu C#

Kroky k převodu a JSON do a Třída C# jsou:



Krok 1: Analyzujte data JSON



První krok ke konverzi JSON do a třída C# je analyzovat data JSON a určit jejich strukturu. To zahrnuje identifikaci klíčů nebo vlastností dat a jejich odpovídajících datových typů. Jakmile jsou tyto informace shromážděny, můžeme začít vytvářet odpovídající třídu C#, která bude reprezentovat data JSON.





Krok 2: Vytvořte třídu C#, která představuje data JSON

The JSON název dat se pak použije k definování třídy. Uvnitř této třídy definujeme vlastnosti, které odpovídají klíčům v JSON data. Nastavili jsme datové typy vlastností tak, aby odpovídaly datovým typům hodnot v JSON data. Například, pokud je klíč v JSON data mají hodnotu řetězce, odpovídající vlastnost ve třídě C# definujeme jako řetězec.



Krok 3: Deserializujte data JSON

Po vytvoření třídy C# je dalším krokem deserializace třídy JSON data do instance třídy. To je možné s Newtonsoft.Json knihovna, která poskytuje přímočaré API pro deserializaci JSON data. Musíte nainstalovat a importovat Newtonsoft.Json balíčku, abyste jej mohli použít ve svém kódu. Vytvořte instanci souboru JsonSerializer třídy a zavolejte Deserializovat metoda, odevzdání JSON data jako řetězec a třída C# jako parametr obecného typu:

pomocí Newtonsoft.Json;

// JSON data
řetězec json = '{' název ':' John Smith ',' stáří ':30' ;
// C # třída
veřejná třída Osoba
{
veřejný řetězec Jméno { dostat; soubor ; }
public int Age { dostat; soubor ; }
}
// Deserializujte data JSON do objektu Person
Osoba osoba = JsonConvert.DeserializeObject < Osoba > ( json ) ;

The JSON data v tomto příkladu jsou jednoduchým objektem s vlastnostmi name a age a třída C# je třída Person s podobnými vlastnostmi. JsonConvert.DeserializeObject se používá ke konverzi JSON data do objektu Person, který lze upravovat a používat v aplikaci.

Krok 4: Manipulujte s objektem C#

Po deserializaci JSON data do C# objekt , lze s ním libovolně manipulovat a používat jej v aplikaci. Vlastnosti lze číst nebo nastavovat, metody lze vyvolat a objekt lze poskytnout jako parametr jiným procedurám nebo funkcím.

Zde je příklad, jak pracovat s Osoba objekt, který jste vytvořili v předchozím kroku:

// Získejte osobu jméno uživatele
řetězec jméno = osoba.Jméno;

// Nastavte osobu'
s věkem
osoba.Věk = 31 ;

// Volání metody na objektu person
osoba.Tisk Podrobnosti ( ) ;

Objekt osoba se v tomto příkladu používá k získání jména osoby, nastavení věku osoby a volání Tisk Podrobnosti metoda na objektu.

Zde je kompletní kód demonstrující, jak na to převést JSON na třídu C# .

pomocí systému;
pomocí Newtonsoft.Json;

jmenný prostor JsonToClassExample
{
třídní program
{
statické prázdno Hlavní ( tětiva [ ] argumenty )
{
řetězec json = @ '{
'firstName': 'Larry',
'lastName': 'Kevin',
'adresa': {
'street': 'Main Street',
'city': 'Benátky',
}
''
;

Rootobject myObject = JsonConvert.DeserializeObject < Kořenový objekt > ( json ) ;

Console.WriteLine ( 'Křestní jméno je:' + myObject.firstName ) ;
Console.WriteLine ( 'Příjmení je:' + myObject.lastName ) ;
Console.WriteLine ( 'Ulice je:' + myObject.address.street ) ;
Console.WriteLine ( 'Město je:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

kořenový objekt veřejné třídy
{
veřejný řetězec jméno { dostat; soubor ; }
veřejný řetězec příjmení { dostat; soubor ; }
adresa veřejné adresy { dostat; soubor ; }
}

adresa veřejné třídy
{
veřejná provázková ulice { dostat; soubor ; }
veřejné provázkové město { dostat; soubor ; }
}
}

Výše uvedený kód ukazuje, jak používat Balíček NuGet Newtonsoft.Json na deserializovat A Řetězec JSON do třídy C# . Řetězec JSON obsahuje informace o jménu a příjmení osoby a také o její adrese (ulice a město). Jako třídy C# určují třídy Rootobject a Address strukturu dat JSON.

The JsonConvert.DeserializeObject metoda se používá k převodu řetězce JSON na a Kořenový objekt instance. Data se poté zobrazí na konzole přístupem k atributům Kořenový objekt a třídy adres. The Console.ReadLine metoda se používá k zastavení programu před jeho ukončením.

Výstup

Další způsoby, jak převést JSON do C#

Můžete také zkopírovat JSON data do schránky a použijte a Generátor třídy JSON do C# pro vygenerování třídy C#. Na internetu existuje několik nástrojů, např Json2CSharp a QuickType , který vám může pomoci vygenerovat vaši třídu C# JSON data. Vložte JSON data do příslušného pole a nechte nástroj vygenerovat třídu C# za vás. Tento přístup je přímý a rychlý. Pro účely učení se však musíte řídit první metodou.

Závěr

Převod dat JSON do třídy C# zahrnuje analýzu JSON data, vytvoření odpovídající třídy C# a deserializaci dat JSON do objektu třídy C#. Tento proces může být užitečný při práci s JSON data v aplikacích C#, což usnadňuje čtení, manipulaci a odesílání dat do webových služeb nebo rozhraní API. K rychlému překladu JSON do C# , můžete také využít několik webových nástrojů, např Json2CSharp a QuickType .