I have this xml
<DeviceSettings>
<Messages>
<Message>1</Message>
<Message>2</Message>
<Message>3</Message>
</Messages>
</DeviceSettings>
My Kotlin data classes:
data class DeviceSettings(
@JacksonXmlElementWrapper(localName = "Messages")
@JacksonXmlProperty(localName = "Messages")
val messages: List<String>
)
This looks like its working ok but I really dont understand why when serilizing back the object it becomes like this
<DeviceSettings>
<Messages>
<Messages>1</Messages>
<Messages>2</Messages>
<Messages>3</Messages>
</Messages>
</DeviceSettings>
I would also like to have this structure:
data class DeviceSettings(
@JacksonXmlProperty(localName = "Messages")
val messages: List<Message>
)
data class Message(
val value: String,
)
But the above trows an error about wrong type
Solved via
data class DeviceConfig(
@JacksonXmlProperty(localName = "Messages")
val messages: Messages
)
data class Messages(
@JacksonXmlElementWrapper(localName = "Messages" ,useWrapping = false)
@JacksonXmlProperty(localName = "Message")
val messages: List<String>
)