Deserializing von ArrayList<CustomObject>

B

Binbose

Ambitioniertes Mitglied
0
Hallo Leute,

ich möchte gerade eine Server-Client Anwendung basteln, aber habe ein Problem mit dem Serializing. Ich benutze zum Serializiable machen Gson von Google. Dass Problem ist, dass ich zwar beliebige ArrayListst mit CustomObjects serialisieren, aber sie dann nicht mehr deserialisieren kann.
Wie macht ihr das, wenn ihr ArrayLists mit eigenen Objekten verschickt?
Gibt es da einen Weg um das ganze zu Umgehen?

mfg
 
Wie desearlisierst du denn?
Gibt es bei Gson nicht so was wie parse?
Wo möchtest du Deserialisieren, auf dem Server oder auf dem Client?
 
Gibst du beim Deserialisieren auch den korrekten Typen an? Es reicht nicht zu sagen, dass es eine ArrayList ist, weil dann Gson nicht wissen kann, was für Typen in der ArrayList enthalten sind.

Im Gson-Guide gibts dazu ein gutes Beispiel:

Code:
Gson gson = new Gson();
[B]Collection<Integer>[/B] ints = Lists.immutableList(1,2,3,4,5);

// (Serialization)
String json = gson.toJson(ints); ==> json is [1,2,3,4,5]

// (Deserialization)
Type collectionType = new TypeToken<[B]Collection<Integer>[/B]>(){}.getType();
Collection<Integer> ints2 = gson.fromJson(json, collectionType);

// ints2 is same as ints

Das funktioniert aber nur dann, wenn du eine ArrayList mit Generics verwendest (was bei dir laut Thread-Titel auch zutrifft)
 
Ahhh, danke Zoopa, das funktioniert. :thumbsup:
 
Steht aber doch genauso in der Google Doku zu gson.
Die sollte man schon lesen wenn man damit arbeitet ^^
 

Ähnliche Themen

S
Antworten
17
Aufrufe
577
jogimuc
J
5
Antworten
22
Aufrufe
1.452
590239
5
M
Antworten
4
Aufrufe
1.183
swa00
swa00
Zurück
Oben Unten