当网络请求返回ResponseBody时,如何将ResponseBody转为实体对象?
1.如果是个无嵌套的普通的实体类,可使用如下方法:
public Object JSONTOBean(ResponseBody body, Class clazz)
{
Object obj = null;
try
{
String json = new String(body.bytes());
Gson gson = new Gson();
obj = gson.fromJson(json, clazz);
}
catch (IOException e)
{
e.printStackTrace();
}
return obj;
}
2.如果是有嵌套的实体类,可使用如下方法:
//注意Type的包为:java.lang.reflect.Type
public Object JSONTOBean(ResponseBody body, Type type)
{
Object obj = null;
try
{
String json = new String(body.bytes());
Gson gson = new Gson();
obj = gson.fromJson(json, type);
}
catch (IOException e)
{
e.printStackTrace();
}
return obj;
}
3.