我有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來自圖書館課程,我不能改變。 –