Convertire oggetti Java in JSON e viceversa con Gson

Convertire oggetti Java in JSON e viceversa con Gson

Abbiamo già visto Gson precedentemente: ottima libreria per Java per manipolare JSON.

Oggi vediamo due esempi:

  • il primo ci permetterà di convertire un oggetto in JSON
  • il secondo ci permetterà di creare un oggetto da una stringa JSON

Per cominciare creiamo una classe POJO:

public class Film {

    private String titolo;
    private int anno;

    public String getTitolo() {
        return titolo;
    }

    public void setTitolo(String titolo) {
        this.titolo = titolo;
    }

    public int getAnno() {
        return anno;
    }

    public void setAnno(int anno) {
        this.anno = anno;
    }

}

Per fare un test veloce basta e avanza.

Questi i due metodi:

public class Main {

    public static void main(String[] args) {
        objToJson();
        jsonToObj();
    }

    private static void objToJson() {
        Film film = new Film();
        film.setTitolo("Batman");
        film.setAnno(1989);
        Gson gson = new Gson();
        String strJson = gson.toJson(film);
        System.out.println(strJson);
    }

    private static void jsonToObj() {
        String strJson = "{"titolo":"Batman","anno":1989}";
        Gson gson = new Gson();
        Film film = gson.fromJson(strJson, Film.class);
        System.out.println(film.getTitolo() + ", " + film.getAnno());
    }
}

Il primo ci stamperà una cosa del genere:

{"titolo":"Batman","anno":1989}

Il secondo:

Batman, 1989

Come vedete l'uso è molto semplice; l'unica condizione è avere una classe POJO.

Se usate Maven, questo il codice per installare la libreria:

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

Buon natale!!