对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么?

2024-02-10

我有一个 Spring Web 应用程序4.3.6版本。在某种程度上,它可以与 XML 和 JSON 一起使用。

  • 对于 Json,我使用 Jackson。
  • 对于 XML 我曾经使用过JAXB2,但不再是因为它不支持通用集合

通用集合表示如下:

public class GenericCollection<T> {

        private Collection<T> collection;

        public GenericCollection(){
            this.collection = new LinkedHashSet<>();
        }

        public GenericCollection(Collection<T> collection){
            this.collection = collection;
        }

...

因此对于XML该应用程序移自JABX2 to Jackson杰克逊数据格式 xml https://github.com/FasterXML/jackson-dataformat-xml project

序列化一个Date对于 JSON,我使用:

public class JsonDateSerializer extends JsonSerializer<Date> {

    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

    /**
     * {@inheritDoc}
     */
    @Override
    public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        String formattedDate = dateFormat.format(value);
        gen.writeString(formattedDate);
    }

}

以及使用方法:

@JsonProperty("fecha")
@JsonSerialize(using=JsonDateSerializer.class)
public Date getFecha() {
    return fecha;
}

对于 XML,当JAXB2再次被用于Date序列化如下was used:

public class XmlDateAdapter extends XmlAdapter<String, Date> {

    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

    /**
     * {@inheritDoc}
     */
    @Override
    public Date unmarshal(String v) throws Exception {
        return dateFormat.parse(v);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String marshal(Date v) throws Exception {
        return dateFormat.format(v);
    }

}

以及使用方法:

@JsonProperty("fecha")
@JsonSerialize(using=JsonDateSerializer.class)
@XmlElement(name="fecha")
@XmlJavaTypeAdapter(XmlDateAdapter.class)
public Date getFecha() {
    return fecha;
}

由于这次迁移来自Jaxb2 to jackson-dataformat-xml我知道后者ignores the JAXB2注释。因此现在与:

@JsonProperty("fecha")
@JsonSerialize(using=JsonDateSerializer.class)
@JacksonXmlProperty(localName="fecha")
@XmlJavaTypeAdapter(XmlDateAdapter.class)
public Date getFecha() {
    return fecha;
}

因此从@XmlElement(name="fecha") to @JacksonXmlProperty(localName="fecha")

现在的问题是@XmlJavaTypeAdapter(XmlDateAdapter.class)也被忽略。

Question:

等效的注释是什么@XmlJavaTypeAdapter from JAXB2 to jackson-dataformat-xml


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么? 的相关文章

随机推荐

  • 淘汰赛验证异步验证器:这是一个错误还是我做错了什么?

    我真的很喜欢如何Eric Barnard 的淘汰赛验证库 https github com Knockout Contrib Knockout Validation与可观察量集成 允许分组 并提供自定义验证器可插拔性 包括动态验证器 有几个
  • Selenium Grid 与不同主机上的 Docker 容器

    我喜欢使用官方 Docker 镜像在 AWS 上设置 Selenium Grid 可以在此处找到https github com SeleniumHQ docker selenium https github com SeleniumHQ
  • 从 Docker 容器获取环境变量

    从 docker 容器获取环境变量的最简单方法是什么尚未在 Dockerfile 中声明的内容 例如 通过某些方式设置的环境变量docker exec container bin bash会议 我可以docker exec containe
  • python 中的 3D 卷积

    我需要编写一段代码 使用 numpy 在 python 中使用 3x3 内核执行 3D 卷积 我已经对像黑白图像这样的 2D 数组做了正确的处理 但是当我尝试将其扩展到像 RGB 这样的 3D 数组时 情况就变得一团糟 我需要帮助来改进我的
  • C 二进制文件与文本文件的效率

    我是 C 语言新手 我需要一些帮助 假设我只需要在文件中存储 6 位数字 假设 int 的大小等于 4 使用文本文件或二进制文件哪个更有效 就内存而言 我不太确定如何面对这个问题 欢迎任何帮助 大多数人将文件分为两类 二进制文件和 ASCI
  • DirectWrite (CreateTextFormat) 如何选择后备字体?

    的文档创建文本格式 http msdn microsoft com en us library windows desktop dd368203 v vs 85 aspx没有提及字体回退选择 但如果选择默认 NULL 系统 集合 则 Dir
  • @BOOL 属性设置器

    我在使用设置 BOOL 时遇到问题 property and synthesize 我在用着 property BOOL isPaused 我可以通过使用得到它 myObject isPaused 但我无法设置它 我想用 myObject
  • 列出 CRAN 上可用的所有软件包以进行控制台[重复]

    这个问题在这里已经有答案了 想要获取 Windows 控制台上 CRAN 上可用的所有软件包的列表 我知道这一定很简单 因为在 Windows GUI 上有一个手动选项可以单击安装 此时会弹出另一个菜单界面 其中包含 CRAN 上可用的所有
  • Linux shell:检测 CSV 日志文件的状态更改

    这是我自动生成的日志文件 连续一分钟检查我的互联网线路 cat log csv 2018 04 27 23 37 OK 2018 04 27 23 38 OK 2018 04 27 23 39 OK 2018 04 27 23 40 ERR
  • 将上传的文件保存到磁盘在 Flask 中不起作用[重复]

    这个问题在这里已经有答案了 我想将任何上传的图像存储到名为 logo png 的 static customlogos 文件夹中 无论其实际名称是什么 我有一个基本的 Flask 设置 其中包含典型的静态和模板文件夹 为了简单起见 我在下面
  • 如何知道是否有 git rebase 正在进行?

    当我开始一个git rebase i 我可以发出这样的命令git rebase continue or git rebase abort 这些命令仅在变基正在进行时才有效 我如何知道是否正在进行变基 我非常感谢有关 rebase 内部如何工
  • 如何在两个片段之间切换,而不需要每次都重新创建片段?

    我正在开发一个 Android 应用程序 它使用导航抽屉在两个片段之间切换 然而 每次切换时 片段都会完全重新创建 这是我主要活动的代码 The click listener for ListView in the navigation d
  • 如何在 Visual Studio Community 2013 中创建 ASP.NET MVC 5 Web 应用程序?

    我尝试在全新安装 Visual Studio Community 2013 后启动 MVC 5 项目 但是当我转到 新建项目 gt 模板 gt Visual C gt Web gt Version2012 我在中间窗格中看到的只是 ASP
  • 传递给模板函数的两个 lambda 使得参数的类型推导不明确——为什么?

    我有一个模板 如果我向它传递一个 lambda 它就可以工作 但是在一个将两个 lambda 映射到同一模板化类型的相关模板中 它无法推断出该类型 并且 MSVC Express 2013 抱怨模板参数不明确 首先要明确的是 这里没有发生重
  • 找到坐标 x 和 y 列表的优化位置

    我是编程新手 尤其是Python新手 但我正在努力学习它 到目前为止我发现它非常令人着迷 我有一个包含 30 个固定坐标 x 和 y 的列表 x np array 13 10 12 13 11 12 11 13 12 13 14 15 15
  • UIButton 状态已选择

    我看过很多有关更改所选按钮图像的信息 但作为新人 我在实现更简单的版本时遇到了一些麻烦 当按下按钮时 它会变暗 我希望它在被选择后保持这种状态 所以有几个问题 我是否为按钮创建 IBOutlet 然后使用 IBAction 来更改状态 例如
  • 从 pandas dropna 中排除特定列

    我有一个数据框 我想删除除特定列之外的所有列中的值 NA 在本例中为 V1 df V1 V2 V3 V4 A 10 20 NA B NA NA NA C 5 20 3 D 15 20 4 E NA 10 5 output V1 V2 V3
  • Node dotenv 不适用于 pm2

    我有一个应用程序 其中本地 没有 pm2 所有环境变量 env使用文件工作得很好dotenv 但在我使用的服务器上pm2要运行应用程序 环境变量仍然存在undefined 我用来在服务器上运行应用程序的 pm2 命令是 pm2 start
  • 无法激活机架(〜> 1.4.0,运行时)已激活机架1.5.0

    我已经寻找这个问题的答案一天多了 并彻底搜索了 StackOverflow 我了解正在发生的冲突 我应该卸载不需要的 Rack 版本 但事情是这样的 我正在Koding上开发 http koding com http koding com
  • 对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么?

    我有一个 Spring Web 应用程序4 3 6版本 在某种程度上 它可以与 XML 和 JSON 一起使用 对于 Json 我使用 Jackson 对于 XML 我曾经使用过JAXB2 但不再是因为它不支持通用集合 通用集合表示如下 p