[英]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.