【发布时间】:2019-07-31 02:55:33
【问题描述】:
这是对 Jackson deserialize to list of child elements
<Trade>
<row>
<TradeID>1</TradeID>
</row>
<row>
<TradeID>2</TradeID>
</row>
</Trade>
public class Trade {
List<Row> rows;
public class Row {
int tradeID;
}
}
我可以使用
反序列化我的 Row 对象XmlMapper xmlMapper = new XmlMapper();
List<Row> rows = Arrays.asList(xmlMapper.readValue(xml, Row[].class));
但是,如果我在 Trade 对象中具有如下所示的属性,则它无法解析(我得到一个对象列表,其中所有内容都具有空值)。
我可以告诉杰克逊忘记属性吗? (不幸的是,我对产生所有这些噪音的系统的控制为 0)
<Trade delimiter="~" header="true" date="2019-05-30 13:30:42" fileName="CRD.VANGFI_BOD.Trade.0000000007" sequence="7" ALLOC_AGGR_SAME_NULL_FIELDS="ACCT_CD,ACCT_NAME,TRADE_ID,PSET" ALLOC_AGGR_SUM_FIELDS="FEE_1_AMT,FEE_2_AMT,FEE_3_AMT,FEE_4_AMT,FEE_5_AMT,FEE_6_AMT,EXEC_QTY,EXEC_AMT,INC_AMT,INC_BASE_AMT,EXEC_ORIGINAL_FACE,NET_PRIN_AMT,NET_PRIN_BASE_AMT" OUTPUT_TYPE="xml" ALLOC_AGGR_AGGREGATION_FIELDS="ORDER_ID,UMA_HOLDING_ACCT_CD" ENABLE_ALLOCATION_AGGREGATION="N">
【问题讨论】:
-
你在
Trade类上试过这个@JsonIgnoreProperties(ignoreUnknown = true)吗? -
我试图在不创建 Trade 类的情况下做到这一点