我目前正在爲我的android應用程序使用基本的JSON庫來提取從我們的服務器發送的JSON。爲了提高性能,我正在考慮轉向Gson。使用Gson反序列化具有通用對象類型的嵌套JSON
目前我因爲以下原因,我堅持與deserialzation -
我的班 -
public class GameResponse {
public boolean failed = false;
public Object jsonObject; // Type cast this object based on the class type passed in json string
}
public class GameBatchResponse {
public GameResponse[] gameResponses;
}
反序列化我jsonresponse -
Gson gson = new Gson();
GameBatchResponse response = gson.fromJson(jsonResponse, GameBatchResponse.class);
現在,如何告訴GSON其中它需要類型轉換JsonObject類。目前它將它轉換爲LinkedTreeMap,因爲它不知道需要將其轉換爲哪個類。
當我做(MyClass)response.gameResponses[0].jsonObject
它給類拋出異常。
在當前的實現中,我曾經在我的Json字符串中傳遞@type,並使用它來創建MyClass的實例。對於例如 - 「@type」:「com.mypackage.MyClass」
我正在尋找同一邏輯的Gson實現,我可以在運行時從JSON字符串中附加的信息中告知Gson類的類型
爲了幫助你,最好有一個你試圖反序列化的JSON的例子。 – giampaolo