Java – Json con Google Gson

Json es un formato de texto ligero para el intercambio de datos en la Web muy ampliamente usado, se supone que es un reemplazo para XML por ser más compacto y fácil de leer.  En este ejemplo convertiremos un objeto de Java con información a una cadena de texto en formato Json con la ayuda de la librería Google Gson.

Importamos la dependencia en Maven:

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




El código es el siguiente:

package com.decodigo.ejemplos;

import com.google.gson.Gson;
import java.io.FileWriter;

/**
 *
 * @author decodigo.com
 */
public class JsonConGson {
    public static void main(String args[]){
        try {
            DatosEmpresa datosEmpresa = new DatosEmpresa();
            datosEmpresa.setId(1);
            datosEmpresa.setNombre("Distribuidora de autopartes");
            datosEmpresa.setDireccion("Calle Central No. 111");
            
            Gson gson = new Gson();
            
            String cadenaJson = gson.toJson(datosEmpresa);
            System.out.println("datosEmpresa Json: " + cadenaJson);

            FileWriter fileWriter = new FileWriter("/home/decodigo/Documentos/java/archivos/archivoJson.json");
            fileWriter.write(cadenaJson);
            fileWriter.close();
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Adicionalmente usamos una clase DatosEmpresa que sirve de ejemplo para convertir a formato de Json.

package com.decodigo.ejemplos;

/**
 *
 * @author decodigo.com
 */
public class DatosEmpresa {
    private long id;
    private String nombre;
    private String direccion;
    private boolean estatus;

    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getDireccion() {
        return direccion;
    }
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    public boolean isEstatus() {
        return estatus;
    }
    public void setEstatus(boolean estatus) {
        this.estatus = estatus;
    }
}

Convertimos nuestra instancia de DatosEmpresa a una cadena de Json que puede ser usada para responder a una petición en el caso de un servlet o para ser almacenada en un archivo de texto según sea tu necesidad.

Realmente no hay mucho que hacer, tan sólo usamos el método gson.toJson(datosEmpresa) y convertimos nuestro objeto datosEmpresa a una cadena.

Gson gson = new Gson();
String cadenaJson = gson.toJson(datosEmpresa);

Al ejecutar el ejemplo obtenemos el resultado siguiente:
Adicionalmente, guardamos nuestro objeto Json en un archivo archivoJson.json:

Y eso es todo. Esperamos que este ejemplo sea de utilidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *