[英]How do you modify default enum (de)serialization for non-annotated enums but retain standard behavior (@JsonProperty/@JsonValue/...) in Jackson?
[英]Jackson serialization and @JsonValue : back to the default behavior
我有一个简单的POJO:
public class Test {
private String id;
private boolean asString;
// getters and setters
@JsonValue
public Object getValue() {
if (asString) {
return id;
}
// I want to use the default behavior of Jackson but i don't know what to do here
}
}
如您所见,我正在尝试使用@JsonValue进行以下行为:
asString
为true
,我想将对象序列化为一个简单的字符串。 asString
为false
,则我想使用Jackson的默认行为来序列化我的对象。 但是我不知道该怎么做。 我也尝试制作一个自定义的序列化程序,但是我无法到达Jackson的“默认序列化程序”并进行调用。
我怎样才能做到这一点? 我想在一定条件下将对象序列化为字符串,但是如果需要,我想返回Jackson的默认行为。
您可以为此类编写一个自定义解串器,该类将检查asString
,如果为false,则其本身将调用默认的jackson解串器。
我如何从Jackson的自定义解串器中调用默认解串器,有一个很好的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.