为什么我的XML列表在与杰克逊分析时没有解析?
有没有人能帮助我为什么我的货币赛主义者是无效的?我想我对列表的简洁主义者有遗漏。 我正在与杰克逊和伦波克一起使用Spring Boot。我还尝试将列表添加到Mainucube,但这也将导致无效。
<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;
}
)
@Data
public class CurrencyCube {
@JacksonXmlProperty(localName = "rate", isAttribute = true)
private Double rate;
@JacksonXmlProperty(localName = "currency", isAttribute = true)
private String currency;
}
is there anyone who can help me why my currencyCubeList is null? I think i have a missunderstanding with the List CubeList.
I am Using Spring Boot with Jackson and Lombok. I also tried to add the List to the MainCube but this also will result in 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 (until here it works)
@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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以通过在注释中使用
usewrapping = false
来解决它Could resolve it by using
useWrapping=false
in the Annotation obove the list