【问题标题】:@XmlRootElement vs @JacksonXmlRootElement@XmlRootElement 与 @JacksonXmlRootElement
【发布时间】:2019-07-23 08:33:19
【问题描述】:

@XmlRootElement@JacksonXmlRootElement 之间的确切区别是什么?

我知道@XmlRootElement 是通用的,但是当我检查包结构时,两者都是不同的。

所以在使用这个的时候肯定有一些优点和缺点。

【问题讨论】:

    标签: xml xml-parsing jackson jaxb xml-binding


    【解决方案1】:

    JacksonXmlRootElement 允许定义根级别的名称

    定义序列化时用于根级对象的根元素的名称

    这是添加@JacksonXmlRootElement的原因

    JAXB 允许您覆盖根元素的名称(使用 生成 XML 时的 @XmlRootElement。比如渲染这个类 到 XML:

    @JsonIgnoreProperties( {"meal", "notMeal", "mealNameDisplay"} ) 公共 类 MealEvent...

    像这样生成 XML:

    lunch ...但我希望根元素是“meal”而不是 'MealEvent'。

    FWIW,我也尝试使用 @JsonTypeName("meal") 进行疯狂猜测—— 没有效果。

    已实现:现在有@JacksonXmlRootElement(命名类似于JAXB注解,只是带有“Jackson”前缀以减少混淆)。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 2020-02-11
      • 2018-01-25
      • 2018-01-26
      • 2014-05-20
      • 2022-07-15
      • 2013-05-11
      • 1970-01-01
      • 2015-11-06
      相关资源
      最近更新 更多