Heim >Java >javaLernprogramm >Wie deserialisiere ich ein Listenobjekt mit Gson?
So deserialisieren Sie eine Liste
Bei der Arbeit mit generischen Typen kann es zu Schwierigkeiten kommen, diese mit Google Gson zu deserialisieren. Das Problem entsteht, weil der Typlöschmechanismus von Java die Typinformationen zur Kompilierungszeit entfernt, was es schwierig macht, generische Typen effektiv zu deserialisieren.
Ein gängiger Ansatz ist die Verwendung der TypeToken-Klasse:
import java.lang.reflect.Type; import com.google.gson.reflect.TypeToken; Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType(); ArrayList<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);
Wann Mit dieser Methode geben Sie den generischen Typ im TypeToken-Konstruktor an. Dadurch wird sichergestellt, dass das Laufzeit-Type-Objekt die parametrisierten Typinformationen erfasst, sodass Gson die generische Sammlung korrekt deserialisieren kann.
Alternativ können Sie die TypeAdapter-Schnittstelle verwenden, um die Deserialisierung und Serialisierung benutzerdefinierter Typen manuell durchzuführen. Dieser Ansatz erfordert jedoch mehr Aufwand und Codepflege, was die TypeToken-Methode zu einer bequemen und effizienten Option zum Deserialisieren generischer Typen in Gson macht.
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich ein Listenobjekt mit Gson?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!