繁体   English   中英

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

[英]Convert XML to JSON with different property names using Jackson

我有下一个任务:从某个目录读取 XML 文件并将其转换为 JSON 字符串。 The problem: initial XML and JSON have different names for corresponding properties, eg x_date in XML and j_date in JSON.

我已经创建了 class ,其中包含 JSON 的必填字段,并带有以下注释:

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

我试图序列化/反序列化测试 XML 文件,它似乎工作正常。 但我不确定是否可以同时使用@JacksonXmlProperty@JsonProperty注释来注释字段。 也许最好为每个 XML 部分创建一个 class 和一个为 JSON 并在它们之间传输数据一些映射器(例如 Orika)?

有什么建议么?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM