私たちはXMLをJSONに逆シリアル化しようとしています。ほとんどの場合、正常に動作しています。私たちはPOJOに@JacksonXmlPropertyを注釈しました。しかし、問題を引き起こす新しいシナリオがあります。問題は、同じオブジェクトの2つの異なるコレクションを使用することですが、名前は異なります。ここで@JacksonXmlPropertyを使用して、同じオブジェクトの異なる名前のコレクションをデシリアライズする方法はありますか?
は単純化されたXML入力です:
<Invoice>
<Payments>
<Payment>
<Amount>
</Payment>
</Payments>
<Refunds>
<Refund>
<Amount>
</Refund>
</Refunds>
</Invoice>
このような対応POJOの外観:
public class Invoice {
@JacksonXmlElementWrapper(localName = "Payments")
protected List<Payment> payments;
@JacksonXmlProperty(localName = "Refunds")
protected List<Payment> refunds;
}
それは例外なくデシリアライズが、払い戻しコレクション内の払い戻しのプロパティはすべてnullであります。
払い戻しPOJOを作成せずにこれを行う方法はありますか?