Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Data formats: JSON and XML | Backend Development Basics
Spring Boot Backend
course content

Conteúdo do Curso

Spring Boot Backend

Spring Boot Backend

1. Backend Development Basics
2. Spring Boot Basics
3. RESTful API
4. Working with Databases
5. Testing Backend Applications

bookData formats: JSON and XML

In the previous chapters, we explored how HTTP works and how it transfers data. In this chapter, we will look into formats such as JSON and XML, which are formats that can be used to transmit data in the body of a server response or when sending a request to the server.

What is JSON?

JSON is used for transmitting data in a key-value format, which makes it very convenient to access data and convert it directly into an object.

This format supports arrays, objects, as well as primitive values like strings, numbers, and boolean values.

Data Formats in JSON

For arrays in JSON, we can use the following syntax:

We enclose all the information in curly braces and specify the key name (like "courses") inside quotation marks. The value associated with this key, in our case, is an array (["Math", "Science"]), which is enclosed in square brackets to indicate that it is an array.

If we want to transmit simple primitive types (such as numbers, strings or boolean values) in JSON, we can do it like this:

We can transmit objects in JSON format. An object is represented by a set of key-value pairs enclosed in curly braces.

Each key is a string and is followed by a colon, with the corresponding value, which can be another object, an array, a primitive type, or null.

Transmitting JSON over HTTP

When transmitting data in JSON format via HTTP, both requests and responses use the Content-Type header set to application/json. In a request, the data is placed in the body of the request, while in a response, the data is placed in the body of the response.

Request Structure:

Response Structure:

JSON Serialization and Deserialization

Serialization converts an object or data structure into a format that is suitable for network transmission or file storage.

Deserialization is the reverse process, which converts data from JSON format back into an object or data structure for use in the code.

Dependency from the video for integrating serialization and deserialization of JSON. This is necessary so that we can use the ObjectMapperclass.

You need to insert this dependency into the pom.xml file and update it.

How to use the Maven Repository

What is XML?

XML represents data using tags that form a hierarchical structure. Each element has both opening and closing tags and may also include attributes.

XML Syntax

As you can see, everything here is built on tags. Lists and objects are not inherently different, but if we want to represent a simple value, the tag name will serve as the key, and the value inside the tags will be the value.

XML Transmission Over HTTP:

For transmitting XML data, the Content-Type header can be set to either application/xml or text/xml. The data is also placed in the body of the request or response.

Example of a Request:

Example of a Response:

XML Serialization and Deserialization

Dependency from the video for integrating serialization and deserialization of XML. This is necessary so that we can use the XmlMapperclass.

You need to insert this dependency into the pom.xml file and update it.

Summary

JSON is the preferred choice for modern web applications due to its lightweight and simple nature. While XML may be less convenient for many web scenarios, it can be useful in cases that require a complex data structure and strict schemas.

1. Which format is used for representing data as `key-value` pairs and is more lightweight and convenient for network transmission?
2. Which of the following code snippets is a valid `JSON`?
Which format is used for representing data as `key-value` pairs and is more lightweight and convenient for network transmission?

Which format is used for representing data as key-value pairs and is more lightweight and convenient for network transmission?

Selecione a resposta correta

Which of the following code snippets is a valid `JSON`?

Which of the following code snippets is a valid JSON?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5
some-alt