/ / Ist es möglich, das aktuelle Objekt mit Json-Werten von Json zu füllen? - Java, Android, Gson

Es ist möglich, das aktuelle Objekt mit JSON-Werten von JSON zu füllen. - Java, Android, Gson

Ich möchte Objektfelder mit Werten von Json im Objektkonstruktor füllen.

public AbstractObject(String jsonSerializedObject) {
Gson gson = new Gson();

// Fill object values from json in *current* object
}

Ist das möglich?

Antworten:

4 für die Antwort № 1

Gson unterstützt das "Auffüllen vorhandener Objekte" (noch) nicht. Siehe Ausgabe 431 hier.

http://code.google.com/p/google-gson/issues/detail?id=431&q=existing


2 für die Antwort № 2

Sie können einen InstanceCreator verwenden, um das Objekt anzugeben, das Sie auffüllen möchten.

final Foo existing;
InstanceCreator<Foo> creator = new InstanceCreator<Foo>() {
public Foo createInstance(Type type) { return existing; }
}

Gson gson = new GsonBuilder().registerTypeAdapter(Foo.class, creator).create();
Foo value = gson.fromJson(jsonString, Foo.class);
// value should be same as existing

0 für die Antwort № 3

http://www.javacreed.com/gson-typeadapter-example/

Überschreiben Sie den Konstruktor mit dem Objekt, das Sie füllen möchten, und aktualisieren Sie dann das Objekt in read(jsonReader: JsonReader) Methode.

Beispiel in Kotlin:

class TypeAdapterGen : TypeAdapter<Gen> {

var mGen: Gen

constructor(gen: Gen) : super(){
mGen = gen
}
}