public class JacksonConfig {
public static ObjectMapper getObjectMapper(){
//The marshaller
ObjectMapper marshaller = new ObjectMapper();
//Make it ignore all fields unless we specify them
marshaller.setVisibility(
new VisibilityChecker.Std(
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE,
JsonAutoDetect.Visibility.NONE
)
);
//Allow empty objects
marshaller.configure( SerializationFeature.FAIL_ON_EMPTY_BEANS, false );
return marshaller;
}
}
public class MyObject {
private int id;
@JsonProperty
private String name;
private Date date;
//Getters Setters omitted
仅在这种情况下 name 将被序列化。 样本回购,https://github.com/darrenforsythe/jackson-ignore-everything
3条答案
按热度按时间vsikbqxv1#
可以将对象Map器配置为完全忽略所有内容,除非
JsonProperty
,仅在这种情况下
name
将被序列化。样本回购,https://github.com/darrenforsythe/jackson-ignore-everything
xdnvmnnf2#
当然可以;创建一个只包含所需feild的类,并在对象Map器中添加下面的属性,剩下的就完成了。
rbpvctlc3#
您可以在pojo类上使用@jsonignoreproperties(ignoreunknown=true),这样就只Mappojo类中可用的字段,而忽略resf。
例如
json数据
pojo类
此处状态在person类中不存在,因此该字段不会被Map