问题描述
我有这个 xml
<DeviceSettings>
<Messages>
<Message>1</Message>
<Message>2</Message>
<Message>3</Message>
</Messages>
</DeviceSettings>
我的 Kotlin 数据类:
data class DeviceSettings(
@JacksonXmlElementWrapper(localName = "Messages")
@JacksonXmlProperty(localName = "Messages")
val messages: List<String>
)
这看起来工作正常,但我真的不明白为什么在将对象序列化时它会变成这样
<DeviceSettings>
<Messages>
<Messages>1</Messages>
<Messages>2</Messages>
<Messages>3</Messages>
</Messages>
</DeviceSettings>
我也想要这样的结构:
data class DeviceSettings(
@JacksonXmlProperty(localName = "Messages")
val messages: List<Message>
)
data class Message(
val value: String,)
解决方法
通过
解决data class DeviceConfig(
@JacksonXmlProperty(localName = "Messages")
val messages: Messages
)
data class Messages(
@JacksonXmlElementWrapper(localName = "Messages",useWrapping = false)
@JacksonXmlProperty(localName = "Message")
val messages: List<String>
)