如果需要house 里面List<Person>也能一步到位, 那么
PersonImpl应为:
package com.isoftstone.pcis.policy.bean.impl.sys001; import java.util.List; import com.isoftstone.pcis.policy.bean.House; /** * 子类<br/> * 极大地方便调试. * @author King * @see * @version createTM:2017年10月25日 上午11:18:04 */ public class HouseImpl extends House{ protected List<PersonImpl> person;//list /** 类型: 不规则字段映射 */ public void setMY_TYPE(String MY_TYPE){ type = MY_TYPE; } /** 原始数据: 不规则字段映射 */ public void setMY_CDATA(String MY_CDATA){ myCdata = MY_CDATA; } /** * 强调:xml报文中的节点不能和本setBeanName的beanName一致 * @param personList * ...... * @time 2017年10月31日 下午4:52:48 * @author King */ public void setPerson(List<PersonImpl> personList) { this.person = personList; } }
请求报文应为:
<?xml version="1.0" encoding="UTF-8"?> <House> <Address>china</Address> <Area>201.8</Area> <Height>20</Height> <BuildingTime>2018-04-07 18:00:00</BuildingTime> <MY_TYPE>EuropeanType</MY_TYPE> <MY_CDATA><![CDATA[go>{:"home]]></MY_CDATA> <Person> <Name>father</Name> <Age>30</Age> </Person> <Person> <Name>mother</Name> <Age>30</Age> </Person> <Person> <Name>son</Name> <Age>10</Age> </Person> <other> <neibourhood>none</neibourhood> </other> </House>
因为在xml转map之后形成的person节点才符合fastjson的list.
xml生成的map 断点效果:
{House={Room={Cats={Cat=[{Name=garfield, Character=wild, Color=yellow}, {Name=kitty, Character=cute, Color=white}]}, Id=Room1, Size=108, Color=red}, other={neibourhood=none}, Area=201.8, Address=china, MY_TYPE=EuropeanType, Height=20, MY_CDATA=go>{:"home, Person=[{Name=father, Age=30}, {Name=mother, Age=30}, {Name=son, Age=10}], BuildingTime=2018-04-07 18:00:00}}
生成的houseImpl 断点效果:
House [address=china, height=20, area=201.8, buildingTime=Sat Apr 07 18:00:00 CST 2018, type=EuropeanType, myCdata=go>{:"home]