8
Chcę przekazać inną kolekcję list do klasy TypeToken w GSON. Oto moja klasaJak używać niestandardowego generic w klasie 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 ;
}
}
Teraz chcę instancję moją klasę w inny sposób, takie jak:
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);
Mam 27 JSON plik txt w folderze mojego majątku i chcę analizować te plik JSON txt w odpowiednie klasy. Jak mam to zrobić?
editted: ten sposób mogę złapać wyjątek:
Caused by: java.lang.ClassCastException: com.google.gson.internal.StringMap cannot be cast to com.mypackage.Form
Bardzo dobrze, dziękuję za udostępnienie answare. –