Trabajo con JSON en Java: análisis y serialización de objetos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Trabajo con JSON en Java: análisis y serialización



JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos, ampliamente utilizado en aplicaciones web modernas, API y microservicios. En Java, trabajar con JSON se ha convertido en una parte esencial del desarrollo, ya sea para analizar respuestas del servidor, serializar objetos para almacenamiento o transferir datos entre componentes del sistema. En este artículo, analizaremos en detalle cómo realizar el análisis y la serialización de JSON en Java utilizando dos bibliotecas populares: Gson de Google y Jackson.



1. ¿Qué es JSON y por qué es necesario en Java?



JSON es un formato de texto basado en pares "clave-valor" y listas ordenadas. Es fácil de leer tanto para humanos como para máquinas, lo que lo hace ideal para transferir datos entre el servidor y el cliente. En Java, JSON se utiliza para:



  • Intercambio de datos a través de REST API (por ejemplo, obtener datos del servidor o enviar un formulario).
  • Archivos de configuración — muchos frameworks utilizan JSON para configurar aplicaciones.
  • Serialización de objetos — convertir objetos Java en una cadena JSON para guardarlos en un archivo o base de datos.
  • Deserialización — restaurar objetos Java a partir de una cadena JSON.


Java no tiene soporte integrado para JSON hasta la versión 9 (cuando apareció el módulo java.json), por lo que los desarrolladores suelen utilizar bibliotecas de terceros como Gson y Jackson. Veamos ambas.



2. Análisis de JSON con Gson



Gson es una biblioteca ligera de Google que permite convertir fácilmente JSON a objetos Java y viceversa. Es simple de usar y no requiere anotaciones adicionales para escenarios básicos.



2.1. Instalación de Gson



Agregue la dependencia a su pom.xml (Maven):

<dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.10.1</version></dependency>


Si usa Gradle:

implementation 'com.google.code.gson:gson:2.10.1'


2.2. Análisis de JSON a objeto Java (deserialización)



Supongamos que tenemos una cadena JSON con información de un usuario:

{  "name": "Iván Petrov",  "age": 30,  "email": "ivan@example.com"}


Creemos la clase User:

public class User {    private String name;    private int age;    private String email;

// Getters y Setters (obligatorios para Gson) public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}


Ahora analicemos el JSON:

import com.google.gson.Gson;

public class Main { public static void main(String[] args) { String jsonString = "{\\"name\\":\\"Iván Petrov\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class); System.out.println("Nombre: " + user.getName()); System.out.println("Edad: " + user.getAge()); }}


Salida:

Nombre: Iván PetrovEdad: 30


2.3. Serialización de objeto Java a JSON



El proceso inverso: convertir un objeto a JSON:

User user = new User();user.setName("María Smirnova");user.setAge(25);user.setEmail("maria@example.com");

Gson gson = new Gson();String json = gson.toJson(user);System.out.println(json);


Resultado:

{"name":"María Sm                

Blogs

Book Recommendations