首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在与Jackson进行解析时没有解析我的XML列表?

为什么在与Jackson进行解析时没有解析我的XML列表?
EN

Stack Overflow用户
提问于 2022-05-08 12:30:43
回答 1查看 22关注 0票数 1

有人能帮我解释为什么我的currencyCubeList是空的吗?我想我对List CubeList很感兴趣。我在用Spring Boot和Jackson和Lombok。我还尝试将列表添加到MainCube中,但这也会导致null。

代码语言:javascript
复制
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
    <gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
    <Cube time="2022-05-06">
        <Cube currency="USD" rate="1.0570"/>
        <Cube currency="JPY" rate="137.90"/>
        <Cube currency="BGN" rate="1.9558"/>
        <Cube currency="CZK" rate="24.665"/>
        <Cube currency="DKK" rate="7.4400"/>
        <Cube currency="GBP" rate="0.85625"/>
        <Cube currency="HUF" rate="381.47"/>
        <Cube currency="PLN" rate="4.7028"/>
        <Cube currency="RON" rate="4.9490"/>
        <Cube currency="SEK" rate="10.4686"/>
        <Cube currency="CHF" rate="1.0419"/>
        <Cube currency="ISK" rate="138.30"/>
        <Cube currency="NOK" rate="9.9808"/>
        <Cube currency="HRK" rate="7.5336"/>
        <Cube currency="TRY" rate="15.8078"/>
        <Cube currency="AUD" rate="1.4888"/>
        <Cube currency="BRL" rate="5.3183"/>
        <Cube currency="CAD" rate="1.3560"/>
        <Cube currency="CNY" rate="7.0506"/>
        <Cube currency="HKD" rate="8.2969"/>
        <Cube currency="IDR" rate="15312.44"/>
        <Cube currency="ILS" rate="3.5965"/>
        <Cube currency="INR" rate="81.2980"/>
        <Cube currency="KRW" rate="1343.90"/>
        <Cube currency="MXN" rate="21.3555"/>
        <Cube currency="MYR" rate="4.6191"/>
        <Cube currency="NZD" rate="1.6440"/>
        <Cube currency="PHP" rate="55.467"/>
        <Cube currency="SGD" rate="1.4642"/>
        <Cube currency="THB" rate="36.303"/>
        <Cube currency="ZAR" rate="16.9614"/>
    </Cube>
</Cube>
</gesmes:Envelope>

Envelope.java

代码语言:javascript
复制
@Data
public class Envelope {
@JacksonXmlProperty(localName = "Cube")
private MainCube mainCube;
}

MainCube.java

代码语言:javascript
复制
@Data
public class MainCube {
    @JacksonXmlProperty(localName = "Cube")
    private Cube cube;
}

Cube.java (在此之前,它是有效的)

代码语言:javascript
复制
@Data
public class Cube {
    @JacksonXmlProperty(localName = "time", isAttribute = true)
    private String time;

    @JacksonXmlElementWrapper
    @JacksonXmlProperty(localName = "Cube")
    List<CurrencyCube> currencyCubeList;
}

CurrencyCube.java

代码语言:javascript
复制
@Data
public class CurrencyCube {
    @JacksonXmlProperty(localName = "rate", isAttribute = true)
    private Double rate;

    @JacksonXmlProperty(localName = "currency", isAttribute = true)
    private String currency;
}
EN

回答 1

Stack Overflow用户

发布于 2022-05-08 12:50:45

可以通过在列表注释中使用useWrapping=false来解决这个问题

代码语言:javascript
复制
@JacksonXmlProperty(localName = "Cube")
@JacksonXmlElementWrapper(useWrapping = false)
List<CurrencyCube> currencyCubeList;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72161002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档