我有一个不确定它的键的地图,但是我确定键包含所有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;


我希望这可以解决您的问题,而这正是您要寻找的。

09-10 07:13