Crear un JSON desde ASP [SOLUCIONADO]

En la actualidad, las tecnologías de desarrollo web como ASP .Net usan ampliamente el formato JSON para intercambiar datos. En esta entrada, vamos a aprender cómo generar un JSON usando ASP ((ASP)).

El JSON es un formato de datos ligero y fácil de leer/programar, compuesto de pares de claves y valores. Su sencillez y capacidad para representar estructuras de datos complejas lo ha consolidado como el estándar de facto para el intercambio de datos en aplicaciones web.

Para generar un JSON en ASP((ASP)), podemos definir los objetos y luego los convertimos a formato JSON utilizando la clase JavaScriptSerializer. Aquí hay un ejemplo sencillo:

            Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer()
            Dim personObj As New Dictionary(Of String, String) From {
                {"name", "John"},
                {"age", "30"},
                {"city", "New York"}
            }
            Dim json As String = serializer.Serialize(personObj)
        

En este caso, creamos un objeto de la persona con nombre, edad y ciudad. Luego, utilizamos el método Serialize de la clase JavaScriptSerializer para convertir este objeto en una cadena JSON.

Ahora, supongamos que queremos generar un JSON de una lista de objetos.

            Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer()
            Dim persons As New List(Of Dictionary(Of String, String)) From {
                New Dictionary(Of String, String) From {
                    {"name", "John"},
                    {"age", "30"},
                    {"city", "New York"}
                },
                New Dictionary(Of String, String) From {
                    {"name", "Jane"},
                    {"age", "25"},
                    {"city", "Los Angeles"}
                }
            }
            Dim json As String = serializer.Serialize(persons)
        

Cuando se trabaja con datos de una base de datos, la generación de JSON puede ser un poco más complicada. Necesitaríamos recuperar los datos, organizarlos en objetos y luego serializar esos objetos. El siguiente fragmento de código ilustra un ejemplo de cómo podríamos hacer esto:

          'Crear la conexión y el comando
            Dim cn As New SqlConnection("server=(local);database=NOMBREDATABASE;Integrated Security=SSPI;")
            Dim cmd As New SqlCommand("SELECT nombre, edad, ciudad FROM Personas", cn)

            'Abrir la conexión 
            cn.Open()

            'Crear una lista para guardar las personas
            Dim persons As New List(Of Dictionary(Of String, String))

            'Leer la data usando un SqlDataReader
            Dim reader As SqlDataReader = cmd.ExecuteReader()

            'Iterar a través del resultado
            While reader.Read()
                Dim person As New Dictionary(Of String, String)             
                person.Add("nombre", reader("Nombre").ToString())
                person.Add("edad", reader("Edad").ToString())
                person.Add("ciudad", reader("Ciudad").ToString())

                'Añadir cada persona al array
                persons.Add(person)
            End While

            'Cerrar el SqlDataReader y la conexión
            reader.Close()
            cn.Close()

            'Convertir el array persons a JSON
            Dim js As New System.Web.Script.Serialization.JavaScriptSerializer()
            Dim json As String = js.Serialize(persons)
        

En resumen, hemos aprendido cómo producir cadenas JSON a través de ASP((ASP)), una tecnología esencial en la programación de aplicaciones web modernas. Esperamos que este artículo sea un recurso útil en su camino de aprendizaje y desarrollo.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad