Android开发过程中,后台返回的数据需要解析成对应对象这样才使用方便。日前同公司后台进行对接,但是对方返回的数据类型和之前开发的不太一样,直接通过gson.fromJson(jsonString,Type对象)方式不能直接转,会报错
com.google.gson.internal.LinkedTreeMap cannot be cast to 具体对象的异常
后在网上查了方法,需要进行LinkedTreeMap转成标准的json格式字符串后才能正常使用:
Gson gson = new Gson();
String jsonStr = gson.toJson(loginResponse.getData());
loginResponse = gson.fromJson(jsonStr, LoginResponse.class);
gson.toJson(loginResponse.getData());//将LinkedTreeMap转成jsonStr。
gson.fromJson(jsonStr, LoginResponse.class);//将对应的jsonStr转成对象。