gpt4 book ai didi

java - Jackson 将类中所有空字符串反序列化为 null

转载 作者:行者123 更新时间:2023-12-02 00:11:32 27 4
gpt4 key购买 nike

我有多个 POJO,我想要其中一些将所有空字符串反序列化为 null

有没有适合我的方法(也许是注释?)告诉 Jackson 哪些 POJO 应该反序列化所有空字符串为 null,哪些不应该?

不重复,我正在寻找适用于类而不是单个字段的解决方案

最佳答案

按如下方式定义序列化器:

public class EmptyStringAsNullDeserializer extends JsonDeserializer<String> {

@Override
public String deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext)
throws IOException {

String value = jsonParser.getText();
if (value == null || value.isEmpty()) {
return null;
} else {
return value;
}
}
}

将其添加到模块,然后将模块注册到您的ObjectMapper:

SimpleModule module = new SimpleModule();
module.addDeserializer(String.class, new EmptyStringAsNullDeserializer());

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

关于java - Jackson 将类中所有空字符串反序列化为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58116569/

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