最近工作中做一个数据对接时对方传过来的数据为xml格式,而我则接收数据并转换为java bean进行操作,传过来的数据格式如下:
<datas> <total>100</total> <book> ... </book> <book> ... </book> ...... </datas>
转换过来大概就是一个java bean中有一个total成员变量,一个books的列表,而XStream默认对接的数据格式是有集合类的父节点的,即book只是列表中的项,如下:
<datas> <total>100</total> <books> <book> ... </book> <book> ... </book> ...... </books> </datas>
而此时,我们需要将集合类的名称books隐藏掉XStream才可正常将其转换为java bean,XStream中的此方法就可以达到要求:
addImplicitCollection(Class ownerType, String fieldName)
其实中ownerType为转换的目标java bean,fieldName则为其成员集合类的名称