Wie Dariusz erwähnt, ist es gut, die Tatsache zu nutzen, dass Array
Klasse Konstruktor akzeptiert normalen Array hat.
Schauen Sie, wenn Sie den Standard-Serializer verwenden - Ihr Array zu JSON serialisiert würde wie folgt aussehen:
{"items":["item1","item2"],"size":2,"ordered":true}
es eindeutig eine Verschwendung von Platz ist, es sei denn, Sie size
und ordered
Felder wollen bewahrt werden.
Ich schlage vor, Sie ändern die Art, wie Sie Ihr Objekt serialisieren, so dass es mehr wie normale Array aussehen würde, auf der anderen Seite - Deserialisierung kann wieder Array
Objekt erstellen.
Wenn Sie fügen folgende Paar Serializer und Deserializer:
SimpleModule module = new SimpleModule();
module.addDeserializer(Array.class, new StdDelegatingDeserializer<>(
new StdConverter<Object[], Array>() {
@Override
public Array convert(Object[] value) {
return new Array(value);
}
}));
module.addSerializer(Array.class, new StdDelegatingSerializer(
new StdConverter<Array, Object>() {
@Override
public Object convert(Array value) {
return value.toArray();
}
}));
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(module);
Sie
zwischen diesen Arten transparente Konvertierung haben mehr Code, schreiben die 'MyArray' Klasse benötigt wird. – Dariusz
Es ist LibGDX 'Array-Implementierung: https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils/Array.java – tyrondis
auch wo die Deserialisierung passieren vielleicht – valepu