gpt4 book ai didi

java - 根据通用类,使用 jackson 和动态 json 键将通用 POJO 转换为 JSON

转载 作者:行者123 更新时间:2023-12-02 08:52:10 25 4
gpt4 key购买 nike

我有一个像这样的 POJO:

 class Wrapper,T> {
private int count;
private T data;
// getters setters
}

使用 Jackson 将其转换为 JSON 时,json 类似于:

{
count:1,
**data**:{}
}

我需要根据类名 T 或与类名相关的其他值更改数据键,我该如何实现这一点。请建议。谢谢。

最佳答案

使用自定义序列化程序,您可以做任何您想做的事情,因为您可以完全控制序列化过程。例如,参见https://www.baeldung.com/jackson-custom-serialization .

你的serialize方法看起来像这样:

@Override
public void serialize(
Wrapper<?> value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonProcessingException {

String derivedName = value.getClass().getSimpleName() + "Data"; // just an example

jgen.writeStartObject();
jgen.writeNumberField("count", value.getCount());
jgen.writeObjectField(derivedName, value.getData());
jgen.writeEndObject();
}

关于java - 根据通用类,使用 jackson 和动态 json 键将通用 POJO 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60703286/

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