Gson解析异常com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN解决方案

当后台返回的json格式是数组[ ]  而不是集合{}的时候使用hiJson不会报错,使用GsonFormat生成的bean也没有问题,但是解析就会报错,这个时候要么处理?

1.让后台改 直接省事,但一般后台改起来比较麻烦(后台一般是技术老大)

2.拿到这个数组篡改后再解析也可以,但是出问题了要承担责任

3.重点方案

先写一个方法,使用type去转换

//根据泛型返回解析制定的类型
public  <T> T fromToJson(String json,Type listType){
    Gson gson = new Gson();
    T t = null;
    t = gson.fromJson(json,listType);
    return t;
}
然后生成的bean类用List封装一下再解析

datas = fromToJson(s,new TypeToken>(){}.getType());
这样最后就不会出毛病了,希望帮新手可以解决曾经遇到的坑

你可能感兴趣的:(android,Json,Gson)