繁体   English   中英

Jackson序列化和@JsonValue:返回默认行为

[英]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进行以下行为:

  • 如果asStringtrue ,我想将对象序列化为一个简单的字符串。
  • 如果asStringfalse ,则我想使用Jackson的默认行为来序列化我的对象。 但是我不知道该怎么做。

我也尝试制作一个自定义的序列化程序,但是我无法到达Jackson的“默认序列化程序”并进行调用。

我怎样才能做到这一点? 我想在一定条件下将对象序列化为字符串,但是如果需要,我想返回Jackson的默认行为。

您可以为此类编写一个自定义解串器,该类将检查asString ,如果为false,则其本身将调用默认的jackson解串器。

我如何从Jackson的自定义解串器中调用默认解串器,有一个很好的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM