我在Android中使用GSON库,而我正在做的一个更常见的任务是序列化/反序列化对象。
Serialize非常简单:
public String serialize() {
// Serialize this class into a JSON string using GSON
Gson gson = new Gson();
return gson.toJson(this);
}
Unserialize必须像这样引用.class对象:
static public AbstractGSON create(String serializedData) {
// Use GSON to instantiate this class using the JSON representation of the state
Gson gson = new Gson();
return gson.fromJson(serializedData, AbstractGSON.class);
}
如果我创建一个扩展AbstractGSON的类,我怎样才能获得该方法来创建新类的实例?或者通过继承是不可能的?
答案 0 :(得分:0)
您可以将该类作为参数传递给方法:
public <T> T deserialize(final String data, final Class<T> className)
然后使用它来反序列化您的数据:
return gson.fromJson(data, className);
你可以这样调用它,例如扩展你的抽象类的类:
User user = super.deserialize(data, User.class);
希望它有所帮助。