JacksonXML 列出重复标签

问题描述 投票:0回答:2

我有这个

@JacksonXmlRootElement(localName = "results")
public class GenericResults{
    @JacksonXmlProperty
    private String copyright;
    @JacksonXmlProperty
    private int count;
    @JacksonXmlProperty(localName = "list")
    private List<Result> list;

在 Pojo 上我有这个

public class Result {
    @JacksonXmlProperty(isAttribute = true, localName = "symbol")
    private String symbol;
    @JacksonXmlProperty(isAttribute = true, localName = "datatype")
    private String datatype;
    @JacksonXmlProperty(isAttribute = true, localName = "entitlement")
    private String entitlement;
    @JacksonXmlProperty(isAttribute = true, localName = "datetime")
    private Long datetime;

结果是

<results>
<copyright>Copyrights Bla Bla Bla </copyright>
<symbolCount>2</symbolCount>
<list>
<list symbolstring="x" datatype="a" entitlement="r" datetime="1499375390609"/>
<list symbolstring="y" datatype="a" entitlement="r" datetime="1499375390731"/>
</list>
</results>

我想要制作的是...

<results>
<copyright>Copyrights Bla Bla Bla </copyright>
<symbolCount>2</symbolCount>
<list symbolstring="x" datatype="a" entitlement="r" datetime="1499375390609"/>
<list symbolstring="y" datatype="a" entitlement="r" datetime="1499375390731"/>
</results>

有人可以帮助我吗?我尝试了其他一些东西,但我无法做到这一点...我不想为列表添加重复的标签...

spring-boot spring-rest jackson-dataformat-xml
2个回答
0
投票

我找到了解决方案,只需使用@JacksonXmlElementWrapper(useWrapping = false) 在列表属性上。

谢谢!


0
投票

如果您使用

defaultUseWrapper(false)
配置XmlMapper,则可以在全局范围内实现相同的效果(无需重复注释)。

© www.soinside.com 2019 - 2024. All rights reserved.