gpt4 book ai didi

java - jackson :将空字符串反序列化为空字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:55 24 4
gpt4 key购买 nike

我有以下类,由 Jackson 映射(简化版):

public class POI {
@JsonProperty("name")
private String name;
}

在某些情况下,服务器返回 "name": null,然后我想将 name 设置为空 Java 字符串。

是否有任何 Jackson 注释,或者我是否应该只检查 getter 中的 null 并在属性为 null 时返回空字符串?

最佳答案

Jackson 2.9 实际上提供了一个尚未提及的新机制:对属性使用 @JsonSetter,对 String.class 等类型使用等效的“Config Overrides”。包含更长的解释

https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff

但要点是您可以像这样标记字段(或 setter ):

@JsonSetter(nulls=Nulls.AS_EMPTY) public String stringValue;

或将映射器配置为对所有 String 值属性执行相同操作:

mapper.configOverride(String.class)
.setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));

两者都会将传入的 null 转换为空值,对于字符串为“”。

这也适用于 CollectionMap,正如预期的那样。

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

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