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

使用Jackson将XML转换为具有不同属性名的JSON

龙俊良
2023-03-14

我有下一个任务:从某个目录中读取XML文件,并将其转换为JSON字符串。问题是:初始XML和JSON对应属性的名称不同,例如XML中的x_日期和JSON中的j_日期。

我创建了一个类,其中包含JSON的必填字段,并带有这样的注释:

public class Card {
  @JacksonXmlProperty(localName = "x_date")
  @JsonProperty("j_date")
  private String date;
  // other fields

我已经尝试对测试XML文件进行序列化/反序列化,它似乎工作正常。但我不确定同时用JacksonXmlProperty和JsonProperty注释字段是否合适。也许最好为每个XML部分创建一个类,为JSON创建一个类,并通过映射器(例如Orika)在它们之间传输数据?

有什么建议吗?

共有1个答案

伯晨
2023-03-14

最后通过将逻辑拆分为两个单独的类来解决这个问题:借助@JacksonXmlProperty注释的XML数据的Card.class和使用@JsonProperty的CardDto.class。这些类之间的映射由Orika映射器处理。

这种拆分将简化这两个类的进一步定制,并允许添加新功能(例如,使用新的实体类将数据持久化到数据库)。

 类似资料:
  • 作为一个简化的例子,考虑这个有两个字段的表。一个是字符串,另一个是XML。 Source=“MediaConversions” 现在我想查询该表,并将结果作为json,但也要一次性将XML转换为json。 导致 [{"Source":"媒体转换","OrderParameter":" 但我想把它转换成: [{"Source":"MediaConversion","OrderParameter":{

  • 我是Jackson XML的新手,我需要在同一根元素下构造具有不同元素名称和属性的Jackson XML。 我期望的xml输出 我的pojo类(不确定如何添加剩余的元素和属性) 任何建议都将不胜感激。

  • 我正在使用来自另一个web服务的XML数据进行java项目。我是杰克逊框架的新手。创建POJO文件,但在映射时会显示错误,如无法识别的字段列。我不知道如何映射我的反应 XML响应 细胞集类 排课 细胞类 帮我解决这个问题。

  • 本文向大家介绍使用Java中的Jackson库将XML转换为POJO?,包括了使用Java中的Jackson库将XML转换为POJO?的使用技巧和注意事项,需要的朋友参考一下 该JSON杰克逊是一个Java库。它具有非常强大的数据绑定功能,并提供了一个框架,用于将自定义Java对象序列化为JSON并将JSON反序列化为Java对象。我们还可以使用XmlMapper 类的readValue()方法将

  • 本文向大家介绍使用Java中的Jackson库将POJO转换为XML?,包括了使用Java中的Jackson库将POJO转换为XML?的使用技巧和注意事项,需要的朋友参考一下 一个杰克逊 是一个基于Java的库,它可以为Java对象到JSON和JSON转换为Java对象很有用。一个杰克逊API是快于其他的API,需要更少的内存区域,对于大型物体良好。我们使用XmlMapper 类的writeVal

  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输