我有JSON包含:GSON:反序列化JSON转换成抽象类
{"timeZone": "America/Los_Angeles"}
许多其它密钥中的,我想它反序列化为java.util.TimeZone
。 TimeZone
只是我想用此json实例化的类中的一个字段。
问题是TimeZone
是一个抽象类,它应该被实例化:
public static synchronized TimeZone getTimeZone(String ID) {
return getTimeZone(ID, true);
它使用一个具体的类ZoneInfo
实例。然而,解串器默认调用TimeZone
的构造函数。所以我就:
java.lang.RuntimeException: Failed to invoke public java.util.TimeZone() with no args
我不知道如何配置GSON实例从上面的JSON一个TimeZone
?
你有没有尝试使用像SimpleTimeZone这样的非抽象类? – JAVAC
Id冒险说这不可能。序列化器需要实例化来构建输出值,而抽象类不能被实例化。 – Felype
@JAVAC来自图书馆课程,我不能改变。 –