一个通用的方法泛型,传入DTO,将json数据解析为DTO。
import com.alibaba.fastjson.JSON; protectedList getDataFromOutInterface(Map inParam, String url, Class t) { try{ String responseJson = HttpClientUtil.post(url, inParam); List list = JSON.parseArray(responseJson, t); return list; }catch (Exception e){ logger.error(e.getMessage()); } return null; }
这样就可以根据返回定义一个DTO。
@Data
public class UserInfo {
private Integer id;
private String name;
private Integer age;
private Date birthday;
private byte[] photo;
}
调用就可以使用如下方式,
Listinfos = this.getDataFromOutInterface(inParam, url, UserInfo.class);
不得不说,fastjson真的牛逼。
获取泛型数据内容一个通用的泛型方法,获取其中传递进来的对象内容。将繁体中文转换为简体中文。
public void convert(T data,Set needJanNames){
try {
Class clazz = data.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
Object o = field.get(data);
if(o!=null&&needJanNames.contains(field.getName())){
String janValue = this.convert(o.toString());
field.set(data,janValue);
}
field.setAccessible(false);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
使用如下调用方式:
UserInfo info = new UserInfo();
convert(info, needJanNames);



