gpt4 book ai didi

java - 处理 jackson 属性的 boolean 值和空字符串?

转载 作者:行者123 更新时间:2023-11-30 05:21:36 29 4
gpt4 key购买 nike

我有一个 JSON 属性,可以是以下之一

{ "observed": true }
{ "observed": false }
{ "observed": "" }

我想映射它,以便在 Java 中它将是 "true""false""" 之一

@JsonProperty("observed")
private String observedValue;

然后我就做一个 setter/getter ,它会给我一个

public Optional<Boolean> getObservedOpt() {
if ("".equals(observedValue)) {
return Optional.empty();
} else {
return Optional.of(Boolean.parseBoolean(observedValue));
}
}

但是,我不确定如何将 truefalse 转换为字符串。或者也许有一种更优雅的方法来执行此操作,无需进行字符串比较。

最佳答案

我建议使用此功能配置对象映射器 ACCEPT_EMPTY_STRING_AS_NULL_OBJECT ,所以如果是空字符串,它将被分配给 null

ObjectMapper mapper = new ObjectMapper()
.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);

您可以愉快地将此字段声明为 Boolean 类型,请注意,如果为空字符串,则该字段值将为 null

@JsonProperty("observed")
private Boolean observedValue;

关于java - 处理 jackson 属性的 boolean 值和空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59484229/

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