gpt4 book ai didi

java - 如何在 Hashmap 中使用扩展 Jackson MapSerializer

转载 作者:行者123 更新时间:2023-12-01 06:16:35 25 4
gpt4 key购买 nike

我正在尝试延长com.fasterxml.jackson.databind.ser.std.MapSerializer 包含一些我自己定义的函数,用于 serialize() 方法。

public class MyMapSerializer extends MapSerializer{
//have constructors
//override method
@Override
public void serialize(Map<?,?> value, JsonGenerator jgen, SerializerProvider provider){}
}

然后我将注释添加到我的 map 中,如下所示:

@JsonSerialize(using = org.entities.generator.MyMapSerializer.class)
private Map<ObjectA,ObjectB> myObject;

但是当我在 MapSerializer 中添加断点时,它甚至没有进入其中。我尝试扩展 JsonSerializer>,它进入了它。有人知道如何使用扩展的 MapSerializer 吗?感谢您的帮助

最佳答案

我不建议尝试对 Jackson 的默认序列化器进行子类化:这很脆弱。

但是如果您确实想这样做,请查看MapSerializer:我的猜测是它的createContextual()方法最终会构造一个不同配置的实例。您可能需要重写处理此类实例创建的其他方法之一;您只需要它们来构造 MyMapSerializer 的实例,而不是默认的 MapSerializer

关于java - 如何在 Hashmap 中使用扩展 Jackson MapSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249909/

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