gpt4 book ai didi

Java Jackson 反序列化 id 对象,可以是对象或字符串

转载 作者:行者123 更新时间:2023-11-30 08:01:47 27 4
gpt4 key购买 nike

我正在使用 Jackson 来序列化 id 对象。这些对象只有一个 id 字段。目前,代码在字段上使用 @JsonProperty 进行序列化。序列化如下所示:

“我的ID”:{ “id”:“12345”}

我想在 getter 上使用 @JsonValue,这样将来的序列化将如下所示:

“我的 ID”:“12345”

我需要它与已经序列化的对象向后兼容。我是否需要使用自定义反序列化器,或者是否有基于注释的策略可以实现此目的?

如有任何建议,我们将不胜感激。

最佳答案

可以创建可从 JSON 对象和 JSON 标量反序列化的 POJO。例如:

public class Id {
@JsonProperty String id;

@JsonCreator
public Id(String id) {
this.id = id;
}
}

对于序列化,您可以选择 as-object(仅 getter)或 as-String,后者使用 @JsonValue

关于Java Jackson 反序列化 id 对象,可以是对象或字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31820085/

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