gpt4 book ai didi

java - 指示 Jackson 从给定方法进行序列化

转载 作者:行者123 更新时间:2023-12-01 10:47:09 27 4
gpt4 key购买 nike

我使用的是 Jackson 库,而不是 2.6.3。我想在类中定义序列化方法,并且我想指示 Jackson 在序列化对象时调用此方法。

例如

public interface AClass {

default String toJSON(){
return "{JSON}";
}

}

然后我就有了

public class AnotherClass {

AClass aClass;

}

当我序列化 AnotherClass 时,我“假装”调用 AClass 中的方法 toJson 以返回对象的 JSON View 。

是否有任何可以在 AClass 上使用的注释?

最佳答案

是的,可以使用 @JsonValue@JsonRawValue注释。这是一个例子:

public class JacksonValue {
public interface AClass {

@JsonValue
@JsonRawValue
default String toJSON(){
return "{\"JSON\":true}";
}

}

public static class AnotherClass {
@JsonProperty
AClass aClass = new AClass() {};
}

public static void main(String[] args) throws JsonProcessingException {
final ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(new AnotherClass()));
}
}

输出:

{"aClass":{"JSON":true}}

关于java - 指示 Jackson 从给定方法进行序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34104662/

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