У меня есть класс со значением по умолчанию, равным true
, и я хочу игнорировать значение по умолчанию при сериализации. Он работает, когда по умолчанию false
, но не когда по умолчанию true
:
public static final class TestBooleanDefaultTrue {
@JsonInclude(Include.NON_DEFAULT)
@JsonProperty(value="display")
public Boolean display = Boolean.TRUE;
public String s = "test";
public TestBooleanDefaultTrue() {}
}
public static final class TestBooleanDefaultFalse {
@JsonInclude(Include.NON_DEFAULT)
@JsonProperty(value="display")
public Boolean display = Boolean.FALSE;
public String s = "test";
public TestBooleanDefaultFalse() {}
}
@Test
public void readBVMTest() throws JsonGenerationException, JsonMappingException, IOException {
testom.writeValue(System.out, new TestBooleanDefaultTrue());
testom.writeValue(System.out, new TestBooleanDefaultFalse());
}
, который выводит (после обмана немного):
{"s":"test","display":true}
{"s":"test"}
Как я могу игнорировать значение по умолчанию, когда оно true
?