用json的json值填充当前对象是可能的?

我想在对象构造函数中填充来自Json的值的对象字段。

public AbstractObject(String jsonSerializedObject) { Gson gson = new Gson(); // Fill object values from json in *current* object } 

这可能吗?

Gson不支持“填充现有对象”(尚未)。 在这里看问题431。

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

您可以使用InstanceCreator来提供您想要填充的对象。

 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 

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

用你要填充的对象覆盖构造函数,然后更新read(jsonReader:JsonReader)方法中的对象Kotlin中的示例:

类TypeAdapterGen:TypeAdapter {

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

}