【发布时间】:2021-12-10 01:28:02
【问题描述】:
我有一个要序列化为 json 和 XML 的类:
@JacksonXmlRootElement(localName = "devices")
class DeviceWrapper { // <-- this class is intended to provide root xml name
@JacksonXmlProperty(localName = "device")
@JacksonXmlElementWrapper(useWrapping = false)
List<Device> devices
}
设备类只是 POJO:
class Device {
String field1;
String field2;
...
}
将 DeviceWrapper 序列化为 XML 工作正常:
<?xml version="1.0"?>
<devices>
<device>
<field1>value</field1>
<field2>value</field2>
</device>
<device>
<field1>value</field1>
<field2>value</field2>
</device>
...
</devices>
但是当我尝试将 DeviceWrapper 序列化为 json 时,我得到:
{
"devices": [
{
"field1": "val",
"field2": "val"
},
{
"field1": "val",
"field2": "val"
}
...
]
}
但我只想获取设备值列表:
[
{
"field1": "val",
"field2": "val"
},
{
"field1": "val",
"field2": "val"
},
...
]
即我想看到devices 仅用于 xml 作为列表的分组元素,并且不想在 json 的情况下看到它。怎么做?
【问题讨论】:
标签: java json xml jackson jackson-dataformat-xml