Parsing JSON in Java con Moshi

Mattepuffo's logo
Parsing JSON in Java con Moshi

Parsing JSON in Java con Moshi

Moshi è una libreria per Java e Kotlin per JSON, ottimizzata per essere usata anche in ambito mobile.

In questo articolo vediamo un esempio in Java.

Per installarla possiamo aggiungere questa dipendenza a Maven:

<dependency>
	<groupId>com.squareup.moshi</groupId>
	<artifactId>moshi</artifactId>
	<version>1.15.1</version>
</dependency>

Prima di tutto creiamo una classe che rappresenti i nostri dati:

public class Libro {
  public String titolo;
  public String autore;
  public double prezzo;
}

Qui sotto un esempio di codice:

import com.squareup.moshi.Moshi;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Types;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.List;

public class Main {

  public static void main(String[] args) {
    String json = "[{\"titolo\":\"IT\",\"autore\":\"Stephen King\",\"prezzo\":30}, {\"titolo\":\"Sahara\",\"autore\":\"Clive Cussler\",\"prezzo\":25.5}]";

    Moshi moshi = new Moshi.Builder().build();
    Type type = Types.newParameterizedType(List.class, Libro.class);
    JsonAdapter<List<Libro>> jsonAdapter = moshi.adapter(type);

    try {
      List<Libro> list = jsonAdapter.fromJson(json);
      for (Libro libro : list) {
        System.out.println(libro.titolo + " - " + libro.autore + " - " + libro.prezzo);
      }
    } catch (IOException e) {
      System.out.println(e.getMessage());
    }

  }

}

Per fare un esempio semplice il JSON l'ho messo dentro ad una stringa.

A voi il compito di integrarlo con dati remoti.

Enjoy!


Condividi

Commentami!