1. Обзор В этом кратком руководстве будет рассказано, как настроить Джексона на игнорирование пустых полей при сериализации Java-класса. 2. Игнорирование пустых полей в классе Джексон позволяет нам контролировать это поведение на уровне класса: @JsonInclude(Include.NON_NULL)
public class MyDto { ... } Или с большей детализацией на уровне поля: public class MyDto {
@JsonInclude(Include.NON_NULL)
private String stringValue;
private int intValue;
// standard getters and setters
} Теперь мы сможем проверить, что нулевые значения действительно не являются частью окончательного вывода JSON: @Test
public void givenNullsIgnoredOnClass_whenWritingObjectWithNullField_thenIgnored()
throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
MyDto dtoObject = new MyDto();
String dtoAsString = mapper.writeValueAsString(dtoObject);
assertThat(dtoAsString, containsString("intValue"));
assertThat(dtoAsString, not(containsString("stringValue"