java - 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,
)
但是上面会引发关于错误类型的错误
解决方案
通过解决
data class DeviceConfig(
@JacksonXmlProperty(localName = "Messages")
val messages: Messages
)
data class Messages(
@JacksonXmlElementWrapper(localName = "Messages" ,useWrapping = false)
@JacksonXmlProperty(localName = "Message")
val messages: List<String>
)
推荐阅读
- php - getJson 限制本地主机中的行数(XAMPP)
- python - 如何在没有控制台窗口的情况下在 Windows 上启动最新的 Jupyter QtConsole
- azure-devops - VSTS - 存档 DotNet 构建
- java - 以简单的方式隐藏/加密人名的方法(和解密)
- c++ - 将红色通道与归一化图像相结合
- ios - 为选定的边缘 UIView 添加阴影
- react-native - 仅在 IOS 上的注销导航中反应本机空白屏幕
- javascript - macOS Safari 问题与(getUserMedia)以角度 6 从相机获取视频流 - NotReadableError:I/O 读取操作失败
- javascript - 检查图像扩展 jQuery 以插入 JPG 或 GIF
- c - fprintf 对时间戳计数器有奇怪的影响