Jackson序列化和反序列化忽略欄位
阿新 • • 發佈:2018-12-30
一、設定Jackson序列化時只包含不為空的欄位
new ObjectMapper().setSerializationInclusion(Include.NON_NULL);
二、設定在反序列化時忽略在JSON字串中存在,而在Java中不存在的屬性
new ObjectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
三、Jackson序列化時忽略欄位的方式
1、方式一:FilterProvider
a)在需要忽略某些欄位的bean上新增@JsonFilter("fieldFilter")
b)ObjectMapper設定過濾器
FilterProvider filterProvider = new SimpleFilterProvider();
SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter().serializeAllExcept("name");
filterProvider.addFilter("fieldFilter");
new ObjectMapper.setFilters(filterProvider );
2、方式二:使用@JsonIgnore
在需要忽略的欄位上標註註解@JsonIgnore,在序列化時即可忽略該欄位