Wie java.nio.file.Path mit Gson serialisieren?

8

Ich erhalte java.lang.StackOverflowError beim Versuch, Object zu serialisieren, das java.nio.file.Path

enthält

Auch wenn ich schrieb:

%Vor%

und wenden Sie es an:

%Vor%

Ich kann diese Klasse immer noch nicht serialisieren:

%Vor%

Stacktrace: (vollständig auf pastebin )

%Vor%

Irgendeine Lösung?

    
Alexandr 01.05.2016, 09:13
quelle

1 Antwort

8

Dein Problem ist, dass Path ein interface ist. Nehmen wir an, Sie haben Paths.get("/") verwendet, was eine Instanz von etwas wie WindowsPath auf meinem Windows PC erzeugt. Nun müssen Sie GSON mitteilen, wie Sie diesen Typ deserialisieren:

%Vor%

Ein anderer Ansatz, den Sie verwenden können, ist registerTypeHierarchyAdapter :

%Vor%

Der Zweck von typeHierarchyAdapter ist es, den Fall abzudecken, wenn Sie für alle Subtypen eines Typs die gleiche Darstellung wünschen, was genau bei Path der Fall ist.

    
varren 01.05.2016, 12:23
quelle

Tags und Links