android中使用GSON解析成List发生了奇怪的错误

W/System.err: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $
at com.google.gson.Gson.fromJson(Gson.java:944)
at com.google.gson.Gson.fromJson(Gson.java:897)
at com.google.gson.Gson.fromJson(Gson.java:846)
at com.example.administrator.woleme.shop_list.parseJSON(shop_list.java:93)
at com.example.administrator.woleme.shop_list.access$000(shop_list.java:30)
at com.example.administrator.woleme.shop_list$1 1. o n R e s p o n s e ( s h o p l i s t . j a v a : 70 ) a t o k h t t p 3. i n t e r n a l . c o n n e c t i o n . R e a l C a l l 1.onResponse(shop_list.java:70) at okhttp3.internal.connection.RealCall AsyncCall.run(RealCall.kt:504)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
W/System.err: Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:351)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory A d a p t e r . r e a d ( C o l l e c t i o n T y p e A d a p t e r F a c t o r y . j a v a : 80 ) a t c o m . g o o g l e . g s o n . i n t e r n a l . b i n d . C o l l e c t i o n T y p e A d a p t e r F a c t o r y Adapter.read(CollectionTypeAdapterFactory.java:80) at com.google.gson.internal.bind.CollectionTypeAdapterFactory Adapter.read(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.fromJson(Gson.java:932)

解决办法:查阅了外网大量资料,有的人说将project clean一下就可以解决,但是我的程序还是不能正常运行,然后在Stack Overflow上看到一个解决 Expected BEGIN_OBJECT but was STRING 的方案,收到了启发

我在自己的程序中加了两行代码
在这里插入图片描述
然后就解决了,希望对各位有启发

发布了3 篇原创文章 · 获赞 0 · 访问量 17

猜你喜欢

转载自blog.csdn.net/weixin_42653023/article/details/105667194