1、屬性上 加 @JsonIgnore
這種方式作用于全局橘忱,只要是有這個對象的序列化赴魁,就會忽略注解過的這部分字段。
2钝诚、上面那種方式需要在 bean 上加注解颖御,作用于全局,但是有的時候凝颇,我們可能不需要在所有情況下都忽略這個對象的這些字段潘拱,下面這種方式可以支持定制過濾方式。
public final class JsonFilterUtil {
/**
* 添加過濾的字段祈噪,這里過濾的是 ThinActivityInfo 這個 bean 下的
* "startAt", "expiredAt", "extra" 三個字段
*/
public static void addFilterForMapper(ObjectMapper mapper) {
SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter.serializeAllExcept(
Sets.newHashSet("startAt", "expiredAt", "extra"));
SimpleFilterProvider filterProvider = new SimpleFilterProvider().addFilter("fieldFilter", fieldFilter);
mapper.setFilterProvider(filterProvider).addMixIn(ThinActivityInfo.class, FieldFilterMixIn.class);
}
/**
* 定義一個類或接口
*/
@JsonFilter("fieldFilter")
interface FieldFilterMixIn{
}
}
原文鏈接
http://zhige.me/2019/02/28/2019/02/jackson_serialized_json_ignore_field/