Procesamiento de JSON en Java: bibliotecas y ejemplos prácticos

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

Procesamiento de JSON en Java: resumen de bibliotecas y ejemplos prácticos



JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos, ampliamente utilizado en desarrollo web, aplicaciones móviles y microservicios. En Java existen varias bibliotecas populares para trabajar con JSON. En este artículo veremos tres principales: Jackson, Gson y org.json, y proporcionaremos ejemplos prácticos de análisis, serialización y generación de JSON.



1. Jackson — la biblioteca más popular



Jackson (com.fasterxml.jackson.core) es una biblioteca potente con alto rendimiento. Soporta anotaciones, flujos y configuración completa de mapeo. Para agregarla, añada en Maven:



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


Ejemplo: serialización de un objeto a JSON



import com.fasterxml.jackson.databind.ObjectMapper;import java.util.*;

public class JacksonExample { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper();

// Creamos un objeto Map<String, Object> user = new HashMap<>(); user.put("name", "Iván"); user.put("age", 30); user.put("skills", Arrays.asList("Java", "Spring", "SQL"));

// Serialización a cadena JSON String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(user); System.out.println(json); }}


Salida:



{  "name" : "Iván",  "age" : 30,  "skills" : [ "Java", "Spring", "SQL" ]}


Ejemplo: análisis de JSON a objeto Java



import com.fasterxml.jackson.databind.ObjectMapper;

public class ParseJson { public static void main(String[] args) throws Exception { String json = "{\\"name\\":\\"Ana\\",\\"age\\":25}";

ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(json, User.class);

System.out.println("Nombre: " + user.getName()); System.out.println("Edad: " + user.getAge()); }}

class User { private String name; private int age;

// getters y setters son obligatorios 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; }}


2. Gson — biblioteca ligera y simple de Google



Gson (com.google.code.gson) se distingue por su API simple y configuración mínima. Es adecuada para proyectos pequeños. Maven:



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


Ejemplo: generación de JSON desde Map



import com.google.gson.Gson;import com.google.gson.GsonBuilder;import java.util.*;

public class GsonExample { public static void main(String[] args) { Gson gson = new GsonBuilder().setPrettyPrinting().create();

Map<String, Object> data = new LinkedHashMap<>(); data.put("title", "Ejemplo"); data.put("completed", false); data.put("tags", List.of("java", "json"));

String json = gson.toJson(data); System.out.println(json); }}


Ejemplo: análisis de JSON a lista de objetos



import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.*;

public class GsonParseList { public static void main(String[] args) { String json = "[{\\"id\\":1,\\"name\\":\\"Producto A\\"},{\\"id\\":2,\\"name\\":\\"Producto B\\"}]";\

Recommendations