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

<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
@Data
public class Envelope {
@JacksonXmlProperty(localName = "Cube")
private MainCube mainCube;
}MainCube.java
@Data
public class MainCube {
@JacksonXmlProperty(localName = "Cube")
private Cube cube;
}Cube.java (在此之前,它是有效的)
@Data
public class Cube {
@JacksonXmlProperty(localName = "time", isAttribute = true)
private String time;
@JacksonXmlElementWrapper
@JacksonXmlProperty(localName = "Cube")
List<CurrencyCube> currencyCubeList;
}CurrencyCube.java
@Data
public class CurrencyCube {
@JacksonXmlProperty(localName = "rate", isAttribute = true)
private Double rate;
@JacksonXmlProperty(localName = "currency", isAttribute = true)
private String currency;
}发布于 2022-05-08 12:50:45
可以通过在列表注释中使用useWrapping=false来解决这个问题
@JacksonXmlProperty(localName = "Cube")
@JacksonXmlElementWrapper(useWrapping = false)
List<CurrencyCube> currencyCubeList;https://stackoverflow.com/questions/72161002
复制相似问题