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.

» Ver más ejemplos de Java

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:
Json con Google Gson en JavaAdicionalmente, guardamos nuestro objeto Json en un archivo archivoJson.json:

Json con Google Gson en Java

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

Más información en inglés: https://geekole.com/json-with-google-gson-in-java/

Deja un comentario

3 × = thirty