JacksonXML 字符串序列化和反序列化的简单列表

问题描述

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

但是上面的trows关于错误类型的错误

解决方法

通过

解决
data class DeviceConfig(
    @JacksonXmlProperty(localName = "Messages")
    val  messages: Messages
)

data class Messages(
    @JacksonXmlElementWrapper(localName = "Messages",useWrapping = false)
    @JacksonXmlProperty(localName = "Message")
    val messages: List<String>
)