Análisis de JSON en Java: de principiante a experto en 20 minutos

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

Analizando JSON en Java: De Cero a Código Funcional

\n\n

¿Alguna vez has mirado una respuesta JSON de una API y has sentido un leve pánico? "¿Cómo extraigo name de aquí? ¿Y qué hago con este objeto anidado?" — preguntas familiares, ¿verdad? No te preocupes, no estás solo. El tema "Cómo analizar JSON en Java" es una de las consultas más populares en Stack Overflow, y hoy resolveremos esta cuestión de una vez por todas.

\n\n

JSON (Notación de Objetos JavaScript) es un formato estándar de intercambio de datos. Casi todos los servicios modernos — desde el clima hasta las cotizaciones de acciones — devuelven datos en JSON. Ser capaz de analizarlo competentemente es una habilidad básica para un desarrollador Java. No leeremos especificaciones aburridas. En su lugar, tomaremos tres de las bibliotecas más populares: Gson (Google), Jackson (FasterXML) y la clásica org.json. Verás la diferencia en los enfoques y podrás elegir tu herramienta.

\n\n

¿Qué obtendrás después de leer? Podrás analizar cualquier JSON — desde una cadena simple hasta una estructura anidada compleja con arrays. ¡Vamos allá!

\n\n

Preparación: Lo Que Necesitaremos

\n\n

Para los ejemplos, utilizaremos un proyecto Maven simple. Si no usas Maven — no hay problema, solo descarga los archivos JAR de las bibliotecas manualmente. Aquí están las dependencias mínimas para pom.xml:

\n\n
<!-- Gson -->\n<dependency>\n    <groupId>com.google.code.gson</groupId>\n    <artifactId>gson</artifactId>\n    <version>2.10.1</version>\n</dependency>\n\n<!-- Jackson -->\n<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>\n\n<!-- org.json (simple) -->\n<dependency>\n    <groupId>org.json</groupId>\n    <artifactId>json</artifactId>\n    <version>20231013</version>\n</dependency>\n
\n\n

Ahora, imaginemos que recibimos el siguiente JSON del servidor (información de usuario):

\n\n
{\n  "id": 42,\n  "name": "Alice",\n  "email": "alice@example.com",\n  "isActive": true,\n  "address": {\n    "city": "Moscow",\n    "street": "Tverskaya"\n  },\n  "hobbies": ["reading", "programming", "cycling"]\n}\n
\n\n

Nuestra tarea es convertir esta cadena en objetos Java y extraer los campos necesarios. Vamos en orden.

\n\n

Método 1: Analizando JSON en Java con Gson (Simple y Elegante)

\n\n

Gson de Google es quizás la forma más simple de analizar JSON en Java. Su principal ventaja es el minimalismo. No necesitas escribir mucho código.

\n\n

Paso 1. Crea una clase Java (POJO) que coincida con la estructura JSON.

\n\n
public class User {\n    private int id;\n    private String name;\n    private String email;\n    private boolean isActive;\n    private Address address;\n    private List<String> hobbies;\n\n    // Getters y setters (¡obligatorios para Gson!)\n    public int getId() { return id; }\n    public void setId(int id) { this.id = id; }\n\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n\n    // ... getters/setters restantes de manera similar\n}\n\npublic class Address {\n    private String city;\n    private String street;\n    // getters/setters\n}\n
\n\n

Paso 2. Analiza JSON con una sola línea de código.

\n\n
import com.google.gson.Gson;\n\npublic class GsonExample {\n    public static void main(String[] args) {\n        String json = "{\\"id\\":42,\\"name\\":\\"Alice\\",\\"email\\":\\"alice@example.com\\",\\"isActive\\":true,\\"address\\":{\\"city\\":\\"Moscow\\",\\"street\\":\\"Tverskaya\\"},\\"hobbies\\":[\\"reading\\",\\"programming\\",\\"cycling\\"]}";\n\n        Gson gson = new Gson();\n        User user = gson.fromJson(json, User.class);\n\n        System.out.print                

Blogs

Book Recommendations