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

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

王林
Freigeben: 2023-08-20 12:13:03
nach vorne
1221 Leute haben es durchsucht

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
Nach dem Login kopieren

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 + "]";
   }
}
Nach dem Login kopieren

Ausgabe

[Student [name=Adithya, course=Java], Student [name=Ravi, course=Python]]
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage