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.