想问下大家
final String result = response.body().string();
Gson gson = new Gson();
Type type = new TypeToken<List<Message>>(){}.getType();
List<Message> messages = gson.fromJson(result, type);
明明我此处的代码是这样,但还是报错java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY应该怎么解决呢?
json串与你想转成的格式不匹配,先打印 result 看看内容
某个是数组的字段定义的属性不是数组,打印返回的数据,和Java的属性对比下
在请求网络时候用的Retrofit,然后需要定义一个接受返回数据的bean,因为是POST请求,所以第一次请求并不知道返回的数据结构,所以我直接将返回的数据泛型定义为String类型,于是就出现了如下异常信息
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ data
是我自己搞错了,message希望获取的是对象,但我的是列表嵌套列表,所以出现了故障