2012-09-05 74 views
1

我想在對象構造函數中用來自Json的值填充對象字段。有可能使用json的json值填充當前對象?

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

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

這可能嗎?

+0

你能可能創建一個新的對象和所有字段複製到老嗎?爲什麼你不能簡單地按照通常的方式去使用新的對象? – maaartinus

+0

它已經有一段時間了......如果你發現任何替代方法或任何你用@pixel – Vamsidhar

+0

@Elnino解決的方法,你能分享嗎?我沒有。剛創建的複製構造函數 – pixel

回答

2

您可以使用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