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

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

Introducción al trabajo con JSON en Java

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 es una parte integral del desarrollo: desde la lectura de archivos de configuración hasta la interacción con servicios RESTful. En este artículo, analizaremos en la práctica cómo realizar el análisis (conversión de JSON a objetos Java) y la serialización (conversión de objetos Java a JSON) utilizando las dos bibliotecas más populares: Jackson y Gson.

Veremos ejemplos de código reales, aprenderemos a manejar estructuras anidadas y analizaremos errores típicos. Al final del artículo, podrá trabajar con JSON con confianza en cualquier proyecto Java.



1. Bibliotecas principales para trabajar con JSON

Jackson vs Gson: ¿cuál elegir?

En el mercado de Java existen varias bibliotecas para trabajar con JSON, pero dos de ellas se han convertido en el estándar de facto:

  • Jackson — una biblioteca más potente y funcional. Soporta anotaciones, procesamiento en flujo y serializadores personalizados. Se recomienda para proyectos empresariales.
  • Gson — una biblioteca simple y ligera de Google. Ideal para proyectos pequeños y prototipado rápido.

Para usar cualquiera de ellas, basta con agregar la dependencia en pom.xml (Maven) o build.gradle (Gradle).



Inclusión de Jackson (Maven)

<dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.15.2</version></dependency>


Inclusión de Gson (Maven)

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


2. Análisis de JSON: de cadena a objeto Java

El análisis es el proceso de convertir una cadena JSON en un objeto Java. Veamos ambos enfoques con el ejemplo de una clase simple User.



Creación del modelo de datos

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

// ¡Se necesita un constructor vacío obligatoriamente! public User() {}

// Getters y setters 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; }}


Análisis con Jackson

import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonParsingExample { public static void main(String[] args) throws Exception { String json = "{\\"name\\":\\"Iván\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(json, User.class); System.out.println("Nombre: " + user.getName()); System.out.println("Edad: " + user.getAge()); }}


Análisis con Gson

import com.google.gson.Gson;

public class GsonParsingExample { public static void main(String[] args) { String json = "{\\"name\\":\\"María\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(json, User.class); System.out.println("Nombre: " + user.getName()); System.out.println("Email: " + user.getEmail()); }}


3. Serialización: de objeto Java a JSON

La serialización es el proceso inverso: tomamos un objeto Java y lo convertimos en una cadena JSON. Esto es necesario, por ejem

Blogs

Book Recommendations