public <T> T fromJSON(String object, Class<T> classObject)
{
return gson.fromJson(object, classObject);
}
的事實得到正確的名爲fromJSON方法是,我有一個成員都可以使用Java泛型來定義一些類。例如,我可以創建一個new ValidationResult<User>(), ValidationResult<Image>() or ListResult<User>(), ListResult<Image>()
等等,所以我面臨的問題是我需要告訴GSON它應該使用哪個。這是我在某個問題中運行的位置,因爲我當前的代碼正在將JSON對象轉換爲ValidationResult
或ListResult
,但該通用對象不被視爲User
,Image
等。它只是被轉換爲LinkedTreeMap
。
我嘗試了一些我在Stackoverflow中找到的答案,但我仍然無法弄清楚。
Using a generic type with Gson
Google Gson - deserialize list<class> object? (generic type)
Deserializing Generic Types with GSON
能有人把自己在正確的道路?如果可能的話,分享一些我可以用作指導的代碼。
聲明你的'fromJson'方法的類是否有類型參數'T'? –
所以這是一個通用的方法嗎?你必須在使用它之前聲明類型,嘗試'public T fromJSON(String object,Class classObject)' –
neevek
@SotiriosDelimanolis它沒有因爲我不想每次創建一個新的實例我想要使用fromJSON方法與不同的類。 –
Proverbio