Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Formatos de Datos: JSON y XML | Fundamentos del Desarrollo Backend
Spring Boot Backend

bookFormatos de Datos: JSON y XML

En los capítulos anteriores, exploramos cómo funciona HTTP y cómo transfiere datos. En este capítulo, analizaremos formatos como JSON y XML, que son formatos que pueden utilizarse para transmitir datos en el cuerpo de una respuesta del servidor o al enviar una solicitud al servidor.

¿Qué es JSON?

JSON se utiliza para la transmisión de datos en un formato de clave-valor, lo que lo hace muy conveniente para acceder a los datos y convertirlos directamente en un objeto.

Este formato admite arreglos, objetos, así como valores primitivos como cadenas, números y valores booleanos.

Formatos de datos en JSON

Para arreglos en JSON, se puede utilizar la siguiente sintaxis:

{
  "courses": ["Math", "Science"]
}

Toda la información se encierra entre llaves y se especifica el nombre de la clave (como "courses") entre comillas. El valor asociado a esta clave, en este caso, es un arreglo (["Math", "Science"]), que se encierra entre corchetes para indicar que es un arreglo.

Si queremos transmitir tipos primitivos simples (como números, cadenas o valores booleanos) en JSON, podemos hacerlo de la siguiente manera:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false
}

Podemos transmitir objetos en formato JSON. Un objeto se representa mediante un conjunto de pares clave-valor encerrados entre llaves.

{
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}

Cada clave es una cadena de texto y va seguida de dos puntos, con el valor correspondiente, que puede ser otro objeto, un arreglo, un tipo primitivo o null.

Transmisión de JSON sobre HTTP

Al transmitir datos en formato JSON mediante HTTP, tanto las solicitudes como las respuestas utilizan la cabecera Content-Type establecida en application/json. En una solicitud, los datos se colocan en el cuerpo de la solicitud, mientras que en una respuesta, los datos se colocan en el cuerpo de la respuesta.

Estructura de la solicitud:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "John Doe",
  "age": 30
}

Estructura de la respuesta:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "data": {
     "userId": 12345
   }
}

Serialización y deserialización de JSON

Serialización convierte un objeto o estructura de datos en un formato adecuado para la transmisión por red o almacenamiento en archivos.

Deserialización es el proceso inverso, que convierte los datos desde el formato JSON de nuevo a un objeto o estructura de datos para su uso en el código.

Dependencia del video para integrar la serialización y deserialización de JSON. Esto es necesario para que se pueda utilizar la clase ObjectMapper.

Es necesario insertar esta dependencia en el archivo pom.xml y actualizarlo.

Cómo usar el repositorio de Maven

¿Qué es XML?

XML representa datos utilizando etiquetas que forman una estructura jerárquica. Cada elemento tiene etiquetas de apertura y cierre, y también puede incluir atributos.

Sintaxis XML

<person>
    <name>John Doe</name>
    <age>30</age>
    <isStudent>false</isStudent>
    <courses>
        <course>Math</course>
        <course>Science</course>
    </courses>
    <address>
        <street>123 Main St</street>
        <city>Anytown</city>
    </address>
</person>

Como se puede observar, todo aquí se construye mediante etiquetas. Listas y objetos no son inherentemente diferentes, pero si se desea representar un valor simple, el nombre de la etiqueta funcionará como la clave, y el valor dentro de las etiquetas será el valor.

Transmisión de XML sobre HTTP:

Para la transmisión de datos XML, el encabezado Content-Type puede establecerse como application/xml o text/xml. Los datos también se colocan en el cuerpo de la solicitud o respuesta.

Ejemplo de una solicitud:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml

<user>
    <name>John Doe</name>
    <age>30</age>
</user>

Ejemplo de una respuesta:

HTTP/1.1 200 OK
Content-Type: application/xml

<response>
  <status>success</status>
  <data>
    <userId>12345</userId>
  </data>
</response>

Serialización y deserialización XML

Dependencia del video para integrar la serialización y deserialización de XML. Esto es necesario para que se pueda utilizar la clase XmlMapper.

Es necesario insertar esta dependencia en el archivo pom.xml y actualizarlo.

Resumen

JSON es la opción preferida para las aplicaciones web modernas debido a su naturaleza ligera y sencilla. Aunque XML puede ser menos conveniente para muchos escenarios web, puede ser útil en casos que requieren una estructura de datos compleja y esquemas estrictos.

1. ¿Qué formato se utiliza para representar datos como pares key-value y es más ligero y conveniente para la transmisión en red?

2. ¿Cuál de los siguientes fragmentos de código es un JSON válido?

question mark

¿Qué formato se utiliza para representar datos como pares key-value y es más ligero y conveniente para la transmisión en red?

Select the correct answer

question mark

¿Cuál de los siguientes fragmentos de código es un JSON válido?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

What are the main differences between JSON and XML?

Can you explain when to use JSON versus XML?

How does serialization and deserialization work in practice?

Awesome!

Completion rate improved to 3.45

bookFormatos de Datos: JSON y XML

Desliza para mostrar el menú

En los capítulos anteriores, exploramos cómo funciona HTTP y cómo transfiere datos. En este capítulo, analizaremos formatos como JSON y XML, que son formatos que pueden utilizarse para transmitir datos en el cuerpo de una respuesta del servidor o al enviar una solicitud al servidor.

¿Qué es JSON?

JSON se utiliza para la transmisión de datos en un formato de clave-valor, lo que lo hace muy conveniente para acceder a los datos y convertirlos directamente en un objeto.

Este formato admite arreglos, objetos, así como valores primitivos como cadenas, números y valores booleanos.

Formatos de datos en JSON

Para arreglos en JSON, se puede utilizar la siguiente sintaxis:

{
  "courses": ["Math", "Science"]
}

Toda la información se encierra entre llaves y se especifica el nombre de la clave (como "courses") entre comillas. El valor asociado a esta clave, en este caso, es un arreglo (["Math", "Science"]), que se encierra entre corchetes para indicar que es un arreglo.

Si queremos transmitir tipos primitivos simples (como números, cadenas o valores booleanos) en JSON, podemos hacerlo de la siguiente manera:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false
}

Podemos transmitir objetos en formato JSON. Un objeto se representa mediante un conjunto de pares clave-valor encerrados entre llaves.

{
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}

Cada clave es una cadena de texto y va seguida de dos puntos, con el valor correspondiente, que puede ser otro objeto, un arreglo, un tipo primitivo o null.

Transmisión de JSON sobre HTTP

Al transmitir datos en formato JSON mediante HTTP, tanto las solicitudes como las respuestas utilizan la cabecera Content-Type establecida en application/json. En una solicitud, los datos se colocan en el cuerpo de la solicitud, mientras que en una respuesta, los datos se colocan en el cuerpo de la respuesta.

Estructura de la solicitud:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "John Doe",
  "age": 30
}

Estructura de la respuesta:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "data": {
     "userId": 12345
   }
}

Serialización y deserialización de JSON

Serialización convierte un objeto o estructura de datos en un formato adecuado para la transmisión por red o almacenamiento en archivos.

Deserialización es el proceso inverso, que convierte los datos desde el formato JSON de nuevo a un objeto o estructura de datos para su uso en el código.

Dependencia del video para integrar la serialización y deserialización de JSON. Esto es necesario para que se pueda utilizar la clase ObjectMapper.

Es necesario insertar esta dependencia en el archivo pom.xml y actualizarlo.

Cómo usar el repositorio de Maven

¿Qué es XML?

XML representa datos utilizando etiquetas que forman una estructura jerárquica. Cada elemento tiene etiquetas de apertura y cierre, y también puede incluir atributos.

Sintaxis XML

<person>
    <name>John Doe</name>
    <age>30</age>
    <isStudent>false</isStudent>
    <courses>
        <course>Math</course>
        <course>Science</course>
    </courses>
    <address>
        <street>123 Main St</street>
        <city>Anytown</city>
    </address>
</person>

Como se puede observar, todo aquí se construye mediante etiquetas. Listas y objetos no son inherentemente diferentes, pero si se desea representar un valor simple, el nombre de la etiqueta funcionará como la clave, y el valor dentro de las etiquetas será el valor.

Transmisión de XML sobre HTTP:

Para la transmisión de datos XML, el encabezado Content-Type puede establecerse como application/xml o text/xml. Los datos también se colocan en el cuerpo de la solicitud o respuesta.

Ejemplo de una solicitud:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml

<user>
    <name>John Doe</name>
    <age>30</age>
</user>

Ejemplo de una respuesta:

HTTP/1.1 200 OK
Content-Type: application/xml

<response>
  <status>success</status>
  <data>
    <userId>12345</userId>
  </data>
</response>

Serialización y deserialización XML

Dependencia del video para integrar la serialización y deserialización de XML. Esto es necesario para que se pueda utilizar la clase XmlMapper.

Es necesario insertar esta dependencia en el archivo pom.xml y actualizarlo.

Resumen

JSON es la opción preferida para las aplicaciones web modernas debido a su naturaleza ligera y sencilla. Aunque XML puede ser menos conveniente para muchos escenarios web, puede ser útil en casos que requieren una estructura de datos compleja y esquemas estrictos.

1. ¿Qué formato se utiliza para representar datos como pares key-value y es más ligero y conveniente para la transmisión en red?

2. ¿Cuál de los siguientes fragmentos de código es un JSON válido?

question mark

¿Qué formato se utiliza para representar datos como pares key-value y es más ligero y conveniente para la transmisión en red?

Select the correct answer

question mark

¿Cuál de los siguientes fragmentos de código es un JSON válido?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5
some-alt