Jackson XML简单列表之Strings序列化与反序列化

JacksonXML simple list of Strings serialization and desirialization

我有这个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>
)