Heim  >  Artikel  >  Java  >  Wie deserialisiere ich ein JSON-Array in einen generischen Listentyp in Java?

Wie deserialisiere ich ein JSON-Array in einen generischen Listentyp in Java?

王林
王林nach vorne
2023-08-20 12:13:031129Durchsuche

Wie deserialisiere ich ein JSON-Array in einen generischen Listentyp in Java?

Die Gson-Bibliothek stellt eine Klasse namens com.google.gson.reflect.TypeToken zum Speichern generischer Typen bereit, indem eine Gson TypeToken-Klasse erstellt und der Klassentyp übergeben wird. Mithilfe dieses Typs kann Gson die in der generischen Klasse übergebene Klasse kennen.

Syntax

public class TypeToken<T> extends Object

Im folgenden Beispiel können wir ein JSON-Array in eine Liste generischer Typen deserialisieren

Beispiel

import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class JSONArrayToListTest {
   public static void main(String args[]) throws Exception {
      String jsonStr = "[{\"name\":\"Adithya\", \"course\":\"Java\"}," + "{\"name\":\"Ravi\", \"course\":\"Python\"}]";
      Type listType = new TypeToken<ArrayList<Student>>() {}.getType();
      List<Student> students = new Gson().fromJson(jsonStr, listType);
      System.out.println(students);
   }
}
// Student class
class Student {
   String name;
   String course;
   @Override
    public String toString() {
      return "Student [name=" + name + ", course=" + course + "]";
   }
}

Ausgabe

[Student [name=Adithya, course=Java], Student [name=Ravi, course=Python]]

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich ein JSON-Array in einen generischen Listentyp in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen