如果需要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]