Jackson tem uma classe chamada SimpleBeanPropertyFilter que ajuda a filtrar campos durante a serialização e desserialização; não globalmente. Eu acho que é isso que você queria.
@JsonFilter("custom_serializer")
class User {
private String password;
//setter, getter..
}
Então no seu código:
String[] fieldsToSkip = new String[] { "password" };
ObjectMapper mapper = new ObjectMapper();
final SimpleFilterProvider filter = new SimpleFilterProvider();
filter.addFilter("custom_serializer",
SimpleBeanPropertyFilter.serializeAllExcept(fieldsToSkip));
mapper.setFilters(filter);
String jsonStr = mapper.writeValueAsString(currentUser);
Isso impedirá que o passwordcampo seja serializado. Além disso, você poderá desserializar os passwordcampos como estão. Apenas verifique se não há filtros aplicados ao objeto ObjectMapper.
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(yourJsonStr, User.class); // user object does have non-null password field