Com convertir JSON en classe C#

Com Convertir Json En Classe C



JSON o Notació d'objectes JavaScript es basa en un subconjunt del llenguatge de programació JavaScript, però és independent del llenguatge i es pot utilitzar amb qualsevol llenguatge de programació que tingui un analitzador JSON. Usar JSON dades en programació C#, cal convertir JSON a a Classe C# . Això fa possible que els programadors interactuïn amb les dades d'una manera segura, la qual cosa redueix el risc d'errors i fa que el codi sigui més senzill de mantenir.

Treballant amb JSON Les dades en C# sovint requereixen convertir el fitxer Dades JSON a Classes C# que es poden editar i utilitzar fàcilment a l'aplicació. Aquest tutorial repassarà el procés de conversió JSON dades a classes C#, amb exemples de codi per ajudar-vos en el camí.







Com convertir un JSON en una classe C#

Els passos per convertir a JSON a a Classe C# són:



Pas 1: analitzeu les dades JSON



El primer pas en la conversió JSON a a Classe C# és analitzar les dades JSON i determinar-ne l'estructura. Això implica identificar les claus o propietats de les dades i els seus tipus de dades corresponents. Un cop recopilada aquesta informació, podem començar a crear una classe C# corresponent que representarà les dades JSON.





Pas 2: creeu una classe C# que representi les dades JSON

El JSON El nom de les dades s'utilitza llavors per definir una classe. Dins d'aquesta classe, definim propietats que coincideixen amb les claus del fitxer JSON dades. Configurem els tipus de dades de les propietats perquè coincideixin amb els tipus de dades dels valors del fitxer JSON dades. Per exemple, si una clau al JSON Les dades tenen el valor d'una cadena, definim la propietat corresponent a la classe C# com una cadena.



Pas 3: deserialitzeu les dades JSON

Després de crear la classe C#, el següent pas és deserialitzar el fitxer JSON dades en una instància de classe. Això és possible amb el Newtonsoft.Json biblioteca, que proporciona una API senzilla per deserialitzar JSON dades. Heu d'instal·lar i importar el Newtonsoft.Json paquet per utilitzar-lo al vostre codi. Creeu una instància del JsonSerialitzador classe i truca al Deserialitzar mètode, lliurament del JSON dades com a cadena i la classe C# com a paràmetre de tipus genèric:

utilitzant Newtonsoft.Json;

// Dades JSON
cadena json = '{' nom ':' John Smith ',' edat ':30}' ;
// C # classe
Persona de classe pública
{
cadena pública Nom { aconseguir; conjunt ; }
públic int Edat { aconseguir; conjunt ; }
}
// Deserialitzeu les dades JSON en un objecte Person
Persona persona = JsonConvert.DeserializeObject < Persona > ( json ) ;

El JSON Les dades d'aquest exemple són un objecte senzill amb una propietat de nom i edat, i la classe C# és una classe de persona amb propietats similars. JsonConvert.DeserializeObject s'utilitza per convertir JSON dades en un objecte Persona que es pot editar i utilitzar a l'aplicació.

Pas 4: manipuleu l'objecte C#

Després de deserialitzar el Dades JSON en a Objecte C# , es pot manipular i utilitzar a l'aplicació com es desitgi. Les propietats es poden llegir o establir, es poden invocar mètodes i l'objecte es pot proporcionar com a paràmetre a altres procediments o funcions.

Aquí teniu un exemple de com treballar amb el Persona objecte que heu fet al pas anterior:

// Aconsegueix la persona el nom de
nom de cadena = persona.Nom;

// Estableix la persona'
s edat
persona.Edat = 31 ;

// Crida un mètode a l'objecte persona
persona.ImprimirDetalls ( ) ;

L'objecte persona s'utilitza en aquest exemple per obtenir el nom de la persona, definir l'edat de la persona i trucar a Imprimeix detalls mètode sobre l'objecte.

Aquí teniu un codi complet que mostra com fer-ho convertir JSON en una classe C# .

utilitzant el sistema;
utilitzant Newtonsoft.Json;

espai de noms JsonToClassExample
{
programa de classe
{
buit estàtic Principal ( corda [ ] args )
{
cadena json = @ '{
'firstName': 'Larry',
'lastName': 'Kevin',
'adreça': {
'street': 'Main Street',
'ciutat': 'Venècia',
}
}'
;

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

Consola.WriteLine ( 'El primer nom és:' + myObject.firstName ) ;
Consola.WriteLine ( 'El cognom és:' + el meuObjecte.Cognom ) ;
Consola.WriteLine ( 'El carrer és:' + el meu.adreça.carrer ) ;
Consola.WriteLine ( 'La ciutat és:' + myObject.address.city ) ;


Consola.ReadLine ( ) ;
}
}

Rootobject de classe pública
{
cadena pública nom { aconseguir; conjunt ; }
cadena pública cognoms { aconseguir; conjunt ; }
adreça pública { aconseguir; conjunt ; }
}

Adreça de classe pública
{
carrer de corda pública { aconseguir; conjunt ; }
ciutat de corda pública { aconseguir; conjunt ; }
}
}

El codi anterior mostra com utilitzar-lo Paquet NuGet Newtonsoft.Json a deserialitzar a Cadena JSON en una classe C# . La cadena JSON inclou informació sobre el nom i cognoms d'una persona, així com la seva adreça (carrer i ciutat). Com a classes C#, les classes Rootobject i Address estableixen l'estructura de les dades JSON.

El JsonConvert.DeserializeObject El mètode s'utilitza per convertir una cadena JSON en a Objecte arrel instància. Aleshores, les dades es mostren a la consola accedint als atributs de la Objecte arrel i Classes d'adreça. El Consola.ReadLine s'utilitza per aturar el programa abans que finalitzi.

Sortida

Altres maneres de convertir JSON a C#

També podeu copiar el JSON dades al porta-retalls i utilitzeu a Generador de classes JSON a C# per generar la classe C#. Hi ha diverses eines en línia, com ara Json2CSharp i QuickType , que us pot ajudar a generar la vostra classe C# des de JSON dades. Enganxeu el JSON dades al camp adequat i deixeu que l'eina generi la classe C# per a vosaltres. Aquest enfocament és senzill i ràpid. Tanmateix, per a finalitats d'aprenentatge, heu de seguir el primer mètode.

Conclusió

Conversió de dades JSON a una classe C# implica analitzar la JSON dades, creant una classe C# corresponent i deserialitzant les dades JSON a l'objecte de classe C#. Aquest procés pot ser útil quan es treballa amb JSON dades a les aplicacions C#, facilitant la lectura, la manipulació i l'enviament de dades a serveis web o API. Per traduir ràpidament JSON a C# , també podeu utilitzar diverses eines web, com ara Json2CSharp i QuickType .