Wie Sie HashMap mithilfe von Gson in JSON konvertieren.
%Vor%Ich bekomme die nächste Ausnahme
Versuch, java.lang.Class: java.lang.String zu serialisieren. Vergaß zu einen Typ Adapter registrieren?
Mein Ansatz funktioniert für Gson 2.3.1 mit Java 1.7, kann nicht garantieren, dass es mit Android funktioniert.
Das Problem liegt in der Variablen classType
, da Gson den Typ Class
nicht so verarbeiten kann, wie er ist. Also müssen wir einen TypeAdapter für die Klasse erstellen.
Damit es funktioniert, benötigen Sie eine TypeAdapterFactory.
%Vor%Und registrieren Sie die TypeAdapterFactory zu Ihrem Gson Builder.
%Vor%AFAIK müssen Sie eine TypeAdapterFactory verwenden. Ein direkt registrierter TypeAdapter
%Vor% scheint ignoriert zu werden, wenn ein Objekt vom Typ Class
gefunden wird.
Gson transformiert sowohl die HashMap
- als auch die Java-Klasseninstanzen in JSON-Objekte.
Beispiel: