Cómo convertir JSON a clase C#

Como Convertir Json A Clase C



JSON o Notación de objetos de JavaScript se basa en un subconjunto del lenguaje de programación JavaScript, pero es independiente del lenguaje y se puede usar con cualquier lenguaje de programación que tenga un analizador JSON. Usar JSON datos en programación C#, uno necesita convertir JSON a un Clase C# . Esto hace posible que los programadores interactúen con los datos de forma segura, lo que reduce el riesgo de errores y simplifica el mantenimiento del código.

Trabajando con JSON datos en C# con frecuencia requiere convertir el datos JSON en Clases C# que se pueden editar y utilizar fácilmente en la aplicación. Este tutorial repasará el proceso de conversión JSON datos a clases de C#, con ejemplos de código para ayudarlo en el camino.







Cómo convertir un JSON a una clase C#

Los pasos para convertir un JSON a un Clase C# son:



Paso 1: analizar los datos JSON



El primer paso para convertir JSON a un Clase C# es analizar los datos JSON y determinar su estructura. Esto implica identificar las claves o propiedades de los datos y sus tipos de datos correspondientes. Una vez que se recopila esta información, podemos comenzar a crear una clase C# correspondiente que representará los datos JSON.





Paso 2: Cree una clase C# que represente los datos JSON

El JSON el nombre de los datos se usa luego para definir una clase. Dentro de esta clase, definimos propiedades que coinciden con las claves en el JSON datos. Establecemos los tipos de datos de las propiedades para que coincidan con los tipos de datos de los valores en el JSON datos. Por ejemplo, si una tecla en el JSON data tiene el valor de una cadena, definimos la propiedad correspondiente en la clase C# como una cadena.



Paso 3: deserialice los datos JSON

Después de crear la clase C#, el siguiente paso es deserializar el JSON datos en una instancia de clase. Esto es posible con el Newtonsoft.Json biblioteca, que proporciona una API sencilla para deserializar JSON datos. Necesitas instalar e importar el Newtonsoft.Json package para usarlo en su código. Crear una instancia de la JsonSerializer clase y llamar al deserializar método, entregando el JSON data como una cadena y la clase C# como el parámetro de tipo genérico:

usando Newtonsoft.Json;

// datos JSON
cadena json = '{' nombre ':' John Smith ',' edad ':30}' ;
// C # clase
Persona de clase pública
{
cadena pública Nombre { conseguir; colocar ; }
public int Edad { conseguir; colocar ; }
}
// Deserializar datos JSON en un objeto Person
Persona persona = JsonConvert.DeserializeObject < Persona > ( json ) ;

 

El JSON Los datos de este ejemplo son un objeto simple con una propiedad de nombre y edad, y la clase de C# es una clase de persona con propiedades similares. JsonConvert.DeserializeObject se usa para convertir JSON datos en un objeto Person que se puede editar y usar en la aplicación.

Paso 4: manipular el objeto C#

Después de deserializar el datos JSON en un objeto C# , se puede manipular y utilizar en la aplicación como se desee. Las propiedades se pueden leer o establecer, los métodos se pueden invocar y el objeto se puede proporcionar como un parámetro para otros procedimientos o funciones.

Aquí hay un ejemplo de cómo trabajar con el Persona objeto que hiciste en el paso anterior:

// conseguir a la persona 'nombre de
cadena nombre = persona.Nombre;

// Establecer la persona'
sabio
persona.Edad = 31 ;

// Llamar a un método en el objeto persona
persona.ImprimirDetalles ( ) ;

 

El objeto persona se usa en este ejemplo para obtener el nombre de la persona, establecer la edad de la persona y llamar al ImprimirDetalles método en el objeto.

Aquí hay un código completo que demuestra cómo convertir JSON a una clase C# .

utilizando el sistema;
usando Newtonsoft.Json;

espacio de nombres JsonToClassExample
{
programa de clase
    {
vacío estático principal ( cadena [ ] argumentos )
        {
cadena json = @ '{
'nombre': 'Larry',
'apellido': 'Kevin',
'DIRECCIÓN': {
'calle': 'Calle principal',
'ciudad': 'Venecia',
                }
            }'
;

Rootobject myObject = JsonConvert.DeserializeObject < Objeto raíz > ( json ) ;

Consola.WriteLine ( 'El primer nombre es: ' + miObjeto.nombre ) ;
Consola.WriteLine ( 'El apellido es: ' + miObjeto.apellido ) ;
Consola.WriteLine ( 'La calle es: ' + miObjeto.dirección.calle ) ;
Consola.WriteLine ( 'La ciudad es: ' + myObject.address.city ) ;


Consola.ReadLine ( ) ;
        }
    }

objeto raíz de clase pública
    {
cadena pública firstName { conseguir; colocar ; }
apellido de cadena pública { conseguir; colocar ; }
Dirección de dirección pública { conseguir; colocar ; }
    }

dirección de clase pública
    {
calle pública de cuerdas { conseguir; colocar ; }
ciudad pública de cuerdas { conseguir; colocar ; }
    }
}

 

El código anterior demuestra cómo usar Paquete Newtonsoft.Json NuGet a deserializar a Cadena JSON en una clase C# . La cadena JSON comprende información sobre el nombre y apellido de una persona, así como su dirección (calle y ciudad). Como clases de C#, las clases Rootobject y Address establecen la estructura de los datos JSON.

El JsonConvert.DeserializeObject El método se utiliza para convertir una cadena JSON en una Objeto raíz instancia. Luego, los datos se muestran en la consola accediendo a los atributos del Objeto raíz y Clases de dirección. El Consola.ReadLine El método se utiliza para detener el programa antes de que finalice.

Producción

Otras formas de convertir JSON a C#

También puede copiar el JSON datos al portapapeles y utilice un Generador de clases JSON a C# para generar la clase C#. Hay varias herramientas en línea, como json2csharp y tipo rápido , que puede ayudarlo a generar su clase C# a partir de JSON datos. Pegar el JSON data en el campo apropiado y deje que la herramienta genere la clase C# por usted. Este enfoque es sencillo y rápido. Sin embargo, para fines de aprendizaje, debe seguir el primer método.

Conclusión

Conversión de datos JSON a una clase C# implica analizar el JSON datos, creando una clase C# correspondiente y deserializando los datos JSON en el objeto de clase C#. Este proceso puede ser útil cuando se trabaja con JSON datos en aplicaciones C#, lo que facilita la lectura, manipulación y envío de datos a servicios web o API. Para traducir rápidamente JSON a C# , también puede utilizar varias herramientas web, como json2csharp y tipo rápido .