Spring Boot Jackson 3 处理字符串节点时的默认值
Jackson JSON Spring Boot About 895 words场景
当字符串节点为null时,不同的方法会导致不一样的结果
asString() vs stringValue()
asString(defaultValue)当JSON的字段为null时({"a": null}),会赋值为""空字符串。
stringValue(defaultValue)当JSON的字段为null时({"a": null}),会赋值为defaultValue指定的值。
源码
BaseNode
public abstract class BaseJsonNode extends JsonNode implements java.io.Serializable {
@Override
public String asString(String defaultValue) {
String str = _asString();
if (str == null) {
return defaultValue;
}
return str;
}
@Override
public String stringValue(String defaultValue) {
// Overridden by StringNode, for other types return default
return defaultValue;
}
}
NullNode
public class NullNode extends ValueNode {
@Override
protected String _asString() {
return "";
}
@Override
public String stringValue(String defaultValue) { return defaultValue; }
}
Views: 21 · Posted: 2026-01-29
———         Thanks for Reading         ———
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...