小编Zah*_*Sdg的帖子

Gson缺少对象ArrayList的类型参数

我有这个JSON对象,其中包含"Contact"对象列表及其子对象.我试图用GSON得到ArrayListModel物体在我的JSON对象,但它返回缺少类型的参数异常.我得到这样的类型:

Type listType = new TypeToken<ArrayList<tModel>>() { }.getType();

并尝试获取这样的列表:

GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();

ArrayList<Model> = gson.fromJson(jsonString, listType);
Run Code Online (Sandbox Code Playgroud)

在我的proguard中,我保留了这样的对象包:

-keep class .somerepo.contactModel.** { *; }
Run Code Online (Sandbox Code Playgroud)

我见过类似的问题,但没有一个能解决我的问题.

这是堆栈跟踪:

致命异常:AsyncTask#2进程:...,PID:10360 java.lang.RuntimeException:在java.util的android.os.AsyncTask $ 3.done(AsyncTask.java:300)执行doInBackground()时发生错误. concurrent.FutureTask.finishCompletion(FutureTask.java:355)在java.util.concurrent.FutureTask.setException(FutureTask.java:222)在java.util.concurrent.FutureTask.run(FutureTask.java:242)在android.os .AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:231)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841)引起:java.lang.RuntimeException:缺少类型参数.在com.google.gson.reflect.TypeToken.getSuperclassTypeParameter(的SourceFile:84)在com.google.gson.reflect.TypeToken(的SourceFile:62).在1 semereop.contact.Contact $(的SourceFile:184)在somerepo.contact .Contact.geModelFromJson(的SourceFile:184)

geModelFromJson方法ArrayList<Model>从gson 返回.

java android proguard gson

1
推荐指数
1
解决办法
2198
查看次数

标签 统计

android ×1

gson ×1

java ×1

proguard ×1