8
我想在GSON中將不同的列表集合傳遞給TypeToken類。這裏是我的類如何在GSON TypeToken類中使用自定義泛型?
public class ConvertToObject<T> {
public T MappFrom(InputStream is)
String json = ConvertJsonInputStream.toString(is);
Gson gson = new Gson();
Type typeOfDest = new TypeToken<T>() {
}.getRawType();
T lstObject = gson.fromJson(json, typeOfDest);
return lstObject ;
}
}
現在我想實例化不同的方式像我的這些類:
AssetManager am = getApplicationContext().getAssets();
InputStream is = am.open("form.txt");
ConvertToObject<List<Form>> co = new ConvertToObject<List<Form>>();
List<Form> JsonForm = co.MappFrom(is);
InputStream is2 = am.open("Messages.txt");
ConvertToObject<List<Messages>> co = new ConvertToObject<List<Messages>>();
List<Messages> JsonForm = co.MappFrom(is2);
我有我的資產文件夾27 Json的txt文件,我想分析這些JSON txt文件進入他們合適的班級。我應該怎麼做?
Editted: 這樣,我捕捉異常:
Caused by: java.lang.ClassCastException: com.google.gson.internal.StringMap cannot be cast to com.mypackage.Form
非常好,謝謝分享answare。 –