【发布时间】:2018-12-12 04:13:57
【问题描述】:
今天我遇到了一个问题。我需要得到这个 xml 视图:
<promotion>
<i ... />
</promotion>
<promotion_banner>
<i ... />
</promotion_banner>
<promotion_whats_new>
<i ... />
<i ... />
<i ... />
<i ... />
<i ... />
</promotion_whats_new>
实施:
@JacksonXmlRootElement
class Response {
@JacksonXmlProperty(isAttribute = true)
var notAuthenticated: Boolean = false
@get:[JacksonXmlProperty(localName = "i")
JacksonXmlElementWrapper(localName = "promotion")]
var promotionItems: MutableList<I> = mutableListOf()
@get:[JacksonXmlProperty(localName = "i")
JacksonXmlElementWrapper(localName = "promotion_banner")]
var promotionBannerItems: MutableList<I> = mutableListOf()
@get:[JacksonXmlProperty(localName = "i")
JacksonXmlElementWrapper(localName = "promotion_whats_new")]
var promotionWhatsNewItems: MutableList<I> = mutableListOf()
@get:[JacksonXmlProperty(localName = "i")
JacksonXmlElementWrapper(localName = "preloader")]
var preloaderItems: MutableList<I> = mutableListOf()
override fun toString(): String {
return "Response(notAuthenticated=$notAuthenticated, promotionItems=$promotionItems, promotionBannerItems=$promotionBannerItems, promotionWhatsNewItems=$promotionWhatsNewItems, preloaderItems=$preloaderItems)"
}
}
错误:
com.fasterxml.jackson.databind.JsonMappingException: Conflicting getter definitions for property "i": Response#getPromotionItems(0 params) vs Response#getPromotionBannerItems(0 params)
这是一个错误还是我做错了什么?
当然,我可以通过提供新类(如 Promotion)来实现它,但也许有更好的解决方案。
【问题讨论】:
标签: xml spring kotlin jackson jackson2