gpt4 book ai didi

java - fasterxml JsonInclude 可选

转载 作者:行者123 更新时间:2023-12-05 07:40:20 26 4
gpt4 key购买 nike

我有一个如下的dto

public class MyClass {
@JsonProperty("value")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public Optional<String> myValue = Optional.empty();
}

当我测试序列化时

 @Test
public void should() throws JsonProcessingException {
//GIVEN
val myClass = new MyClass();
myClass.myValue =(Optional.empty());

//WHEN
ObjectMapper mapper = new ObjectMapper();
String valueAsString = mapper.writeValueAsString(myClass);
System.out.println(valueAsString);
//THEN

}

空的可选字段仍然被序列化

{"value":{"present":false}}

我已经尝试在整个类上使用 Include.NON_ABSENT 和用户注释 - 文件仍然是序列化的。

最佳答案

在一些示例中,我看到 objectMapper 注册了一个 jdk8Module。你试过这个吗?也许它只处理注册了这个模块的可选实例。

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Jdk8Module());

关于java - fasterxml JsonInclude 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46213374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com