当前位置: 首页 > 知识库问答 >
问题:

如何在Hashmap中使用扩展的Jackson MapSerializer

柳梓
2023-03-14

我正在尝试扩展com。fasterxml。杰克逊。数据绑定。爵士。std.MapSerializer包含一些我自己定义的函数,用于serialize()方法。

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

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

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

但是当我在MapSerializer中添加断点时,它甚至没有进入其中。我试图扩展JsonSeriazer

共有1个答案

虞华彩
2023-03-14

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

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

 类似资料:
  • 由来 如果你了解Python,你一定知道Python有dict这一数据结构,也是一种KV(Key-Value)结构的数据结构,类似于Java中的Map,但是提供了更加灵活多样的使用。Hutool中的Dict对象旨在实现更加灵活的KV结构,针对强类型,提供丰富的getXXX操作,将HashMap扩展为无类型区别的数据结构。 介绍 Dict继承HashMap,其key为String类型,value为O

  • 问题内容: 我想在Firefox扩展中使用jQuery,我将库导入到xul文件中,如下所示: 但是xul文件中无法识别$()函数,jQuery()也无法识别。 我还尝试过将“ content.document”对象(该对象反映“ document”对象)作为上下文参数传递给jQuery函数,如下所示: 但仍然无法正常工作,以前有人遇到过这个问题吗? 问题答案: 我使用以下内容: 这是一个

  • 我正在尝试做的是创建一个chrome扩展,创建新的,嵌套的,书签文件夹,使用承诺。 执行此操作的函数是chrome.bookmarks.create()。但是我不能只循环这个函数,因为chrome.bookmarks.create是异步的。我需要等待,直到文件夹创建,并获得它的新ID,然后继续它的子级。 承诺似乎是要走的路。不幸的是,我找不到一个使用异步调用和自己的回调(如chrome.bookm

  • 所以,我需要在CMS中做一个扩展,称为TYPO3。这里有一些关于这个扩展的信息: “对于新的TYPO3 6.1网站,我们需要一个新闻稿扩展(基于ExtBase/Fluid),该扩展应包含: 标题/说明 目前实际上没有详细视图的设计,所以没有详细视图的链接。所以,现在,请专注于前端列表视图。" 我以前从未使用过这个CMS,所以我读了一下,发现我需要使用扩展生成器来创建这个扩展。所以,我已经下载并安装

  • 遵循以下文档:http://guides.micronaut.io/micronaut-database-authentication-provider-groovy/guide/index.html,您可以为auth/auth创建一个DB/DAO。如果为UserFetcher、PasswordEncoder和AuthoritiesFetcher提供实现,那么最好使用默认的DelegatingAu

  • 这篇官方教程似乎过时了,因为根据这篇文章,ga.js被弃用了。 此外,在教程中,它有: 而在我有 在Chrome扩展中使用谷歌分析的最新正确方法是什么