【问题标题】:Jackson fails deserialization when attributes are included包含属性时,Jackson 反序列化失败
【发布时间】: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">

【问题讨论】:

标签: java xml jackson


【解决方案1】:

你有没有尝试配置这个。

xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

【讨论】:

  • 不幸的是我做到了。
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 2016-07-18
  • 2014-12-17
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2012-08-19
相关资源
最近更新 更多