首页 > 其他分享 >jackson.dataformat.xml 反序列化 对象中包含泛型

jackson.dataformat.xml 反序列化 对象中包含泛型

时间:2024-04-24 10:56:00浏览次数:30  
标签:xml bookingcontainer jackson useWrapping 泛型 序列化 Containers

重点:

@JacksonXmlProperty
localName 指定本地名称

@JacksonXmlRootElement
localName 指定root的根路径的名称,默认值为类名

@JsonIgnoreProperties(ignoreUnknown = true)
这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况

@JacksonXmlElementWrapper(useWrapping (default:true))
指定XML元素用于List或者Map ,默认值userWrapping=true

 

一 看model

我的Model嵌套了一个泛型,我们重点关注Containers 这个对象

 

 

Containers中,有一个泛型List<>

 

二 标识泛型

为了让Jackson认出泛型,从而可以顺利反序列化。

我们使用如下两个注解

@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName = "bookingcontainer")

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Containers {
    @JacksonXmlElementWrapper(useWrapping = false)
    @JacksonXmlProperty(localName = "bookingcontainer")
    List<Bookingcontainer> bookingcontainer=new ArrayList<>();
}

 

三 测试

 

标签:xml,bookingcontainer,jackson,useWrapping,泛型,序列化,Containers
From: https://www.cnblogs.com/hanjun0612/p/18154582

相关文章

  • springboot 结合jackson数据脱敏
     在返回字段时有时需要对电话,地址等字段进行脱敏处理1.定义枚举脱敏类使用函数编程,绑定函数操作publicenumDataMaskEnum{/***名称脱敏*/USERNAME(s->s.replaceAll("(\\S)\\S(\\S*)","$1*$2")),/***手机号脱敏*/......
  • 修改jar里的.xml等文件内容
    修改jar里的.xml等文件内容将jar文件解压。修改解压后的xml文件。替换修改的文件或重新打包jar文件。#解压jar文件jar-xfexample.jar#修改需要更改的xml文件内容后#替换修改的文件jar-ufexample.jar./mapper/example.xml#或者#删除原始的jar文件后......
  • 在该serializer中使用source参数指定序列化时使用的字段的choices选项
    在序列化中获取time_unit字段的中文名称,你可以使用choices选项中定义的第二个值,即元组中的第二个元素。你可以通过定义一个serializer,然后在该serializer中使用source参数指定序列化时使用的字段,如下所示:fromrest_frameworkimportserializersclassWK006HModelSerializer(s......
  • 序列化模块,subprocess模块,re模块,常用正则
    Ⅰ序列化模块【1】json模块'''json模块是一个序列化模块,主要用于跨语言传输'''1.由下图可知json格式数据是不同编程语言之间数据交互的媒介2.json格式数据的具体特征 结论一中:数据基于网络传输肯定是二进制格式在python中bytes类型的数据可以直接看成是二进制格式......
  • 搭建SSM框架mapper.xml映射开发方式
    搭建SSM框架mapper.xml映射开发方式学习目标本节我们将学习如何搭建SSM框架映射文件开发方式,也就是将sql语句放在mapper.xml文件中进行开发,适用于频繁更新需求的项目。搭建方法pom.xml引入依赖以下依赖项为最低需求,可根据功能需要增加相关依赖。<?xmlversion="1.0"encodin......
  • 第12課-Mirth生产环境宕机后基于服务配置XML备份恢复之记录
    MirthConnect作为集成交换平台,生产环境互联互通了众多系统,脑残的是连自家关键业务系统都依托mirth来进行交互,宕机或故障对身处其中的一次紧张的业务系统升级都造成高度的精神紧张;这种宕机经历多次之后,深感疲惫和无语;今天用生产环境低版本Mirth实践了一次恢复过程,总结以记之。下......
  • IDEA pom.xml依赖警告
    IDEA中,有时pom.xml中会出现如下提示:IDEA2022.1升级了检测易受攻击的Maven和Gradle依赖项,并建议修正,通过插件PackageChecker捆绑到IDE中。这并不是引用错误,不用担心。如果实在强迫症不想看到这个提示,有两个解决办法:卸载PackageChecker插件,再重启IDEA即可。......
  • DRF之序列化组件
    【二】序列化组件【1】序列化与反序列化的概念序列化(Serialization):将对象转换为可传输或可存储的格式的过程。在序列化过程中,对象的属性和数据被转换为一个字节流或字符串,以便在网络上传输或保存到文件中。常见的序列化格式包括JSON、XML、ProtocolBuffers等。序列化后的数......
  • SnakeYaml反序列化分析
    前言SnakeYaml是Java中解析yaml的库,而yaml是一种人类可读的数据序列化语言,通常用于编写配置文件等。yaml真是到哪都有啊。环境搭建<dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.32</version></dependency>SPI机制介绍......
  • Dom4j解析xml文件
    1.创建xml阅读器,进行xml文件的解析,阅读器使用的是SAX阅读器。SAXReaderreader=newSAXReader();Documentdoc=reader.read("xml文件的路径");2.获取根节点。Elementroot=doc.getRootElement();3.获取根节点的集合,导入List遍历得到根节点下的子节点,设置类型为Elemen......