问题描述
项目上有个需求,需要将json转为实体类,使用简单的方法可以转换成功。但是有个类稍微有点复杂,其中包含了其他的类。
如下所示:
Class Test{
private String s1;
private List<Test2> s2;
}
其中 Test2类是用户自定义的类,并且含有两个参数。
Class Test2{
private String t1;
private String t2;
}
因为这种结构,使用了很多方法都无法解析到Test2类,解析的Test2的属性为LinkedHashMap,当使用反射使用Test2类时,就会报错。
解决方案
Json转为实体类的方法有很多,其中ObectMapper可以完美解决这个问题。
ObjectMapper objectMapper = new ObjectMapper();
Object reflectParam = objectMapper.readValue(params, paramType);
其中params为json,paramType是实体类.class