how create json structure using c
Creación de estructura JSON (Parte 2):
En nuestro tutorial anterior, discutimos crear un archivo JSON simple usando conjuntos de datos de muestra .
También llegamos a conocer los detalles sobre el uso de un marco json.Net para serializar datos en formato JSON. Aprovechamos C # y Visual Studio para crear una aplicación de consola simple para usar datos y valores clave proporcionados por nosotros y luego serializamos esos valores clave en la estructura JSON. Ahora, veamos qué cubrirá este tutorial a medida que avanzamos.
En este tutorial, discutiremos las formas de crear una estructura JSON más compleja. Crearemos matrices con múltiples conjuntos de datos y también buscaremos formas de crear estructuras anidadas en JSON.
La mayoría de los archivos JSON que se utilizan para la transmisión de datos entre varios sistemas contienen estructuras de datos más complejas. Por lo tanto, aprender acerca de la estructura compleja de JSON lo ayudará a crear datos de prueba basados en los requisitos del esquema JSON.
Lo que vas a aprender:
- Escribir el código
- Agregar matriz con varios datos en JSON
- Realización de operaciones en datos antes de asignarlos a claves JSON
- Crear una estructura JSON anidada
- Usar una hoja de Excel como fuente de datos para JSON
- Conclusión
- Lectura recomendada
Escribir el código
Haremos referencia a nuestra publicación anterior en este tutorial. Por lo tanto, sugeriría a todos que revisen primero el tutorial anterior, antes de continuar con este.
Usaremos los mismos datos JSON que usamos en nuestro tutorial anterior. También haremos un seguimiento del mismo conjunto de código que escribimos para nuestro ejemplo JSON anterior.
Empecemos ahora.!!
Agregar matriz con varios datos en JSON
Para agregar una matriz al JSON, agreguemos una clave de matriz a nuestro conjunto de datos anterior.
Nuestro conjunto de datos será como se muestra a continuación:
Agregar un objeto de matriz al JSON es similar a agregar cualquier otro valor clave. Los valores se pueden asignar directamente en el momento de la declaración de la propia matriz. Una vez que los valores se han asignado a una matriz, JSON newtonsoft serializará los objetos en pares clave-valor.
Para agregar el Array en el JSON, lo declararemos en el 'Empleado' clase en sí. (Consulte nuestro tutorial anterior para obtener más detalles)
|_+_|Como puede ver, hemos declarado directamente la matriz en la clase Empleado. No realice ningún cambio en el método principal. Crear una clase diferente para el objeto JSON nos ayudará a mantener los objetos organizados.
Siempre que haya cambios en la estructura JSON o cuando desee agregar otro conjunto de datos, todo lo que necesita hacer es realizar los cambios en ese archivo de clase en particular solo en lugar de realizar cambios en todo el proyecto. Esto significa que su método Main seguirá siendo el mismo la mayor parte del tiempo y los cambios solo ocurrirán dentro de las clases.
Ejecutemos el programa y creemos nuestro archivo JSON con la matriz.
Ahora copia el contenido y pégalo aquí para validar si el JSON creado es válido o no.
Clickea en el Validar JSON botón para validarlo. Se organizarán los pares clave-valor JSON y se realizará la validación en el conjunto de datos dado.
Realización de operaciones en datos antes de asignarlos a claves JSON
Supongamos que tenemos algunos datos y queremos realizar alguna operación en esos datos antes de asignarlos como valores a las claves JSON.
En tal caso, ¿cómo lo haremos?
Por ejemplo: Supongamos que la identificación de empleado que pasamos al JSON está compuesta de dos partes, las primeras tres letras indican el código de ubicación y los últimos 4 dígitos indican el número de empleado. Concatenar ambos nos dará la identificación de empleado de un empleado.
En caso de que recibamos el código de ubicación y el número de empleado por separado, tendremos que concatenarlos para formar una identificación de empleado. Solo entonces podremos pasarlo a través del JSON.
Para superar este tipo de escenarios, necesitamos realizar operaciones en los datos antes de asignarlos a una clave.
Veamos cómo se puede hacer esto.
Regresemos a nuestra clase de empleados y creemos otra clase, dentro de la cual realizaremos todas las operaciones.
Aquí crearemos otra clase para contener y realizar las operaciones sobre los datos del empleado.
Creemos una nueva clase 'EmployeeData'.
La clase ha sido creada y ahora creemos un método con un especificador de acceso público y un tipo de retorno como nuestra clase 'Empleado'. Hemos proporcionado el nombre del método como 'EmployeeDataOps' . Sin embargo, puede proporcionar su propio nombre. Para hacer esto más simple, no paso ningún parámetro dentro de este método.
Como describimos el tipo de devolución como una clase, tendremos que devolver una instancia de la clase Empleado. Para hacer eso, crearemos un objeto de clase dentro del método.
Aquí, hemos creado un objeto para la clase Empleado con el nombre EmpObj y al final del método, hemos devuelto el objeto.
Definamos dos números enteros dentro de la clase EmployeeData que representan el código de ubicación completo y el número de empleado. Una vez declarado lo usaremos para realizar operaciones y luego asignar valores a las respectivas claves.
|_+_|Ahora, como tenemos el código de ubicación y el número de empleado, podemos realizar operaciones en ellos para encontrar la identificación del empleado. Para hacer esto escribiremos un código simple para concatenar ambos enteros.
|_+_|Esto simplemente concatenará ambos números enteros que forman el ID de empleado. Hemos almacenado la identificación del empleado en la variable 'EmpID' , y ahora pasaremos esta variable a 'employeeID' en EmpObj.
|_+_|El código de muestra completo se verá como se muestra a continuación:
preguntas de la entrevista de la mesa de ayuda de nivel 1
¿Notó que hemos eliminado el valor que asignamos anteriormente a la variable employeeID en la clase Employee? Hicimos esto ya que estamos devolviendo el valor de EmployeeDataOps () método. Por lo tanto, los datos de las variables se alimentarán desde este método. Esto elimina la necesidad de declarar valores directamente.
software gratuito de reloj de tiempo basado en la web
Como hemos terminado con el método ahora, necesitaremos agregar una instancia de este método al método principal para que se pueda llamar a este método.
Para hacer esto crearemos otro objeto de clase en el método principal para 'EmployeeData' clase.
|_+_|Una vez que hayamos creado un objeto de clase, ahora asignaremos el método dentro de esta clase al objeto Emp que creamos anteriormente para la clase de empleado.
|_+_|Finalmente, el código dentro del método principal se parecerá a esto:
Pongamos algunos datos de prueba:
Código de ubicación = 123
Número de empleado = 9874
Pondremos estos datos en el código y con los cambios finales en el método principal. Ahora hemos completado nuestro código. Ahora, ejecutemos el código y validemos nuestro JSON.
Este es el JSON que se creó:
Como puede ver, el nuevo valor concatenado para el ID de empleado se ingresó en el valor JSON.
Copiemos y peguemos este JSON aquí para validar su estructura. Coloque el texto en el sitio de lint JSON.
Utilice el botón validar para validar la estructura como se muestra a continuación:
Crear una estructura JSON anidada
El ejemplo que discutimos hasta ahora usa principalmente cadenas y valores numéricos dentro de una matriz u objeto. Pero JSON también se puede usar para expresar un objeto JSON completo usando la misma noción que un elemento de matriz. Los miembros del objeto dentro de la lista pueden usar sus propios objetos y claves de matriz.
En Introducción a JSON, que es uno de nuestros tutoriales anteriores, vimos por primera vez cómo se ve un JSON anidado. En ese tutorial, asumimos que el empleado también tiene un automóvil y el JSON también debe contener todos los detalles sobre el automóvil del empleado.
Entonces, la estructura JSON que obtenemos al final será similar a esta:
Aquí, tenemos el JSON del empleado con todos los datos, luego también tenemos un objeto Car JSON anidado dentro del JSON del empleado. El objeto de coche tiene su propio conjunto de claves y valores.
Intentemos crear este JSON mediante programación.
Para ello, comenzaremos con el mismo JSON que creamos en nuestro tutorial anterior. Para hacerlo más fácil, crearemos el nuevo objeto JSON (es decir, Car JSON) en una nueva clase. Agregaremos un nuevo auto de clase y agregaremos todos los objetos dentro de esta clase con un especificador de acceso público.
Ahora, podemos agregar el valor directamente aquí o podemos escribir una nueva clase y crear un método personalizado con un tipo de retorno de objeto de clase para asignar los valores similares a lo que hicimos en el tutorial anterior. Por conveniencia, asignaremos el valor directamente a las variables clave.
Ahora hemos creado una nueva clase con los objetos y valores. En el siguiente paso, agregaremos esto a la estructura Employee JSON, de modo que cuando ocurra la serialización JSON, los valores-clave de la clase Car también deberían serializarse junto con la clase employee como anidado JSON.
Para hacer eso, primero, necesitaremos agregar un coche de objeto de tipo de clase en la clase Empleado. Este objeto se utilizará para almacenar los valores presentes en la clase Car.
Como se muestra arriba, hemos asignado la nueva variable con tipo de datos como Clase de automóvil. Ahora vayamos al método EmployeeDataOps () que creamos dentro de la clase EmployeeData. Escribiremos el código para llamar a las variables y valores de la clase Car.
Primero, creemos un objeto de clase para la clase de automóvil:
|_+_|Este objeto contendrá todos los datos de la clase de automóvil. Una vez que hayamos declarado todos los datos de la clase de automóvil en este objeto, el siguiente paso será asignar estos datos (datos contenidos dentro del objeto de automóvil) a la variable de automóvil que creamos para almacenar estos datos.
Para hacer esto, simplemente usaremos el objeto Employee que creamos para acceder a la variable car. Y luego podemos asignar directamente el objeto de automóvil con los datos a la variable de automóvil.
|_+_|Eso es. Creamos una variable en una clase, luego creamos otro objeto para acceder al valor de otra clase, luego asignamos el valor a la primera variable.
Ahora, ejecutemos nuestro programa y veamos si puede crear el JSON deseado.
Como se muestra arriba, vemos que se ha creado una clave json de automóvil y contiene todos los datos que ingresamos en la clase Car como clave y valores. Ahora, copiaremos nuevamente el contenido JSON y navegaremos aquí para validar el JSON.
Simplemente copie todo el contenido JSON en el área de texto y haga clic en el 'Validar JSON ' botón.
Entonces, el sitio JSONlint ha organizado nuestros datos y los ha validado perfectamente. Podemos ver que el objeto 'coche' se ha organizado en la estructura JSON como lo solicitamos. Con el mismo proceso, puede crear varios niveles de JSON anidado. Simplemente siga agregando el objeto JSON a la clase y asigne su valor a una variable de clase.
Como puede ver, ni siquiera tenemos que cambiar ningún código en nuestro método principal.
Usar una hoja de Excel como fuente de datos para JSON
En nuestros tutoriales anteriores, discutimos varias formas de crear diferentes estructuras de JSON. Pero había un gran problema con todas nuestras estructuras, siempre codificamos los valores de las claves.
En este tutorial, discutiremos las formas en que podemos usar una hoja de Excel para alimentar los datos a las claves JSON. Le recomendaría que revise todos los tutoriales que discutimos anteriormente antes de continuar con este, ya que discutiremos el mismo código que escribimos en los tutoriales anteriores.
Ir paso a paso le ayudará a comprender mejor todo el concepto.
Espero que hayan entendido el código básico para crear un JSON, en esta parte llevaremos adelante la misma estructura de código.
Primero, creemos un archivo de Excel con datos JSON.
Hemos creado un archivo employeeData.xlsx con los siguientes detalles.
Antes de comenzar a escribir el código para extraer valores de Excel, necesitaremos agregar una referencia de ensamblaje a nuestro proyecto. Para acceder al objeto de Office, C # nos ofrece Microsoft Office Interop. Estos son muy útiles para proporcionar un fácil acceso a los objetos de la oficina.
donde conseguir videos de realidad virtual
Como usamos Excel en este proyecto, usaremos la referencia de ensamblado de Microsoft Office Interop Excel.
Para instalarlo, haga clic derecho en las referencias en el explorador de soluciones y luego seleccione Administrar paquetes NuGet . Escriba Microsoft Office Interop Excel en la barra de búsqueda y el resultado de la búsqueda mostrará el paquete requerido.
Una vez que obtenga Microsoft Office Interop Excel, haga clic en el Botón de instalación para instalarlo.
Una vez que se completa la instalación, puede ver que Microsoft Office Interop Excel se ha agregado a la lista de referencias de ensamblado en el proyecto.
Para empezar, primero asignemos los diferentes elementos de Excel.
|_+_|Aquí, hemos asignado valores a la aplicación Excel, el libro de trabajo de Excel y la hoja de trabajo de Excel. Una vez que estos estén definidos, los usaremos en nuestros próximos pasos para acceder a los valores en la hoja de Excel.
¿Cuáles son los pasos que generalmente seguimos si queremos obtener un valor de una hoja de Excel?
Primero accedemos a la aplicación de Excel, luego abrimos el libro de Excel y la hoja de Excel y luego localizamos el elemento en función de sus valores de fila y columna. Vamos a hacer algo similar aquí.
Este código accederá a la aplicación de Excel.
|_+_|Este código abrirá el libro de trabajo con el nombre de pila presente en la ubicación indicada.
|_+_|Ahora, escribiremos un código para acceder a la hoja de trabajo particular dentro del libro de trabajo. Tenemos una hoja de trabajo llamada 'Hoja1' (el nombre predeterminado en la hoja de Excel)
|_+_|Como hemos accedido a la hoja de trabajo, ahora el siguiente paso será encontrar la columna correcta y los datos correctos. Primero, buscaremos una columna con la “Clave”.
Por ejemplo, Primero, busquemos la columna con valor como 'Nombre'. Una vez que encontremos el valor, extraeremos el número de columna. Entonces, como sabemos, la primera fila contiene el encabezado y la segunda fila contiene nuestros datos, entonces, usaremos el número de columna y el número de fila para extraer los datos exactos.
Esto almacenará el número de columna para el Nombre en la variable.
|_+_|Ahora, usaremos el número de columna del Nombre para extraer el valor de la celda debajo. Como sabemos, el método de valor solo devolverá el tipo de cadena, por lo que almacenaremos esto en una variable de cadena.
|_+_|Ahora, tenemos el valor del Nombre almacenado en la variable. Entonces, usaremos el objeto de empleado que definimos en nuestro método para asignar el valor.
Elimine todos los valores que ha asignado / codificado en la clase Empleado, ya que devolveremos los valores utilizando nuestro método.
Pero hay un problema con esto, el '.Texto' La función siempre devuelve un valor de cadena. Entonces, si queremos extraer el valor de un ID de empleado que es un número entero, también se extraerá como una cadena. Entonces, tendremos que convertir esta cadena en un número entero antes de asignarla al objeto JSON. Para hacer eso, analizaremos directamente el valor a un número entero.
Entonces, el código para employeeID se verá como se muestra a continuación:
|_+_|Al final, analizaremos el valor de la cadena en un número entero, ya que nuestro JSON reconoce employeeID como un valor entero.
Por lo tanto, el código general para obtener datos de las 4 columnas se verá como se muestra a continuación:
Ahora, todo lo que tenemos que hacer es asignar las variables que creamos con los datos de la hoja de Excel a los objetos del empleado.
Todo está listo, ahora construiremos el proyecto. Una vez que se complete la compilación, ejecutaremos el programa para generar el JSON.
Se generará el siguiente JSON:
Ahora, comparemos los datos del JSON con los de la hoja de Excel.
Como se muestra arriba, los datos JSON coinciden con los datos en las 4 columnas de la hoja de Excel. Validemos el JSON que generó nuestro programa. Para hacer eso volveremos a visitar aquí . Simplemente copie todo el contenido JSON en el área de texto y haga clic en el 'Validar JSON' botón.
¡Viva! Hemos creado un JSON válido utilizando los datos de Excel.
Ejercicio para ti:
Cree un JSON anidado de tres niveles. Cree una empresa JSON matriz y anide el JSON de empleado que creamos anteriormente junto con el JSON del automóvil.
Conclusión
Ahora hemos llegado al final de nuestro tutorial. Ha sido un tutorial largo pero aprendimos varias cosas. Aprendimos cómo crear un JSON simple usando la programación c # y los beneficios de categorizar diferentes conjuntos de datos JSON en una clase diferente. También usamos nuestras habilidades de programación para agregar matrices e incluso otra estructura JSON dentro de un JSON principal.
Por último, trabajamos en las formas de obtener datos de otra fuente de datos para alimentar los valores a las claves JSON.
Espero que hayan disfrutado de toda la serie de tutoriales JSON hasta ahora.
Tutorial #4: Uso de JSON para pruebas de interfaz
Lectura recomendada
- Cómo crear objetos JSON usando código C # (Creación JSON, parte 1)
- Principales preguntas y respuestas de la entrevista JSON
- Uso de JSON para pruebas de interfaz
- Tutorial JSON: Introducción y una guía completa para principiantes
- Estructura de datos de cola en C ++ con ilustración
- MongoDB Create Database Backup
- Estructura de datos de pila en C ++ con ilustración
- Estructura de datos de lista enlazada circular en C ++ con ilustración