我有一个不确定它的键的地图,但是我确定键包含所有pojo字段,说:
public class MyPojo{
String name,
String addr
}
//map contains keys that not in MyPojo field,e.g. age
map = {"name":"john","addr":"sf school","age":"21"}
在Java中如何将其转换为pojo MyPojo实例? the following method抛出异常:
final ObjectMapper mapper = new ObjectMapper(); // jackson's objectmapper
final MyPojo pojo = mapper.convertValue(map, MyPojo.class);
最佳答案
您可以在MyPojo类中使用Jackson的@JsonIgnoreProrperties
。
例外是由于ObjectMapper无法在MyPojo类中找到确切的映射。
该API在与ObjectMapper相同的库中提供。
因此,这是您的班级样子:
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyPojo{
String name;
String addr;
//Other variables
}
要将其导入代码中,您需要添加以下内容:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
我希望这可以解决您的问题,而这正是您要寻找的。