/ / È possibile riempire l'oggetto corrente con i valori json di json? - java, android, gson

È possibile riempire l'oggetto corrente con i valori json di json? - java, android, gson

Vorrei riempire i campi oggetto con i valori di Json nel costruttore di oggetti.

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

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

È possibile?

risposte:

4 per risposta № 1

Gson non supporta "popolando l'oggetto esistente" (ancora). Vedi il numero 431 qui.

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


2 per risposta № 2

È possibile utilizzare un InstanceCreator per fornire l'oggetto che si desidera popolare.

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 per risposta № 3

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

Sostituire il costruttore con l'oggetto che si desidera riempire e quindi aggiornare l'oggetto nel read(jsonReader: JsonReader) metodo.

Esempio in Kotlin:

class TypeAdapterGen : TypeAdapter<Gen> {

var mGen: Gen

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