我用Struts2的JSON插件默认的JSON转换规则,用来Json化我需要用的属性。返回JSON格式很标准,”datas”对应一个List,大致是这样的:
{“datas”:[{Object},{Object},{Object}…]}
我的Object对象有以下属性:
private Integer youkejingdianpingjiaid;
private AppYouKe appYouKe;
private TeSeJingDian teSeJingDian;
private Date pingjiatime;
private String pingjiatext;
比如我想在只需要2个普通属性,那么这样配置是可以的:
<result type=”json” name=”success”>
<param name=”root”>dataMap</param>
<param name=”includeProperties“>
datas\[\d+\]\.pingjiatime,datas\[\d+\]\.pingjiatext //只需要Json化pingjiatime和pingjiatext
</param>
</result>
得到的返回的Json字符串是:
{“datas”:[
{“youkepingjiatext”:”OKokokoko”,”youkepingjiatime”:”2014-08-09 12:19:02″},{“youkepingjiatext”:”Nononono”,”youkepingjiatime”:”2014-08-09 13:38:22″}
]
}
这样没有问题,但是我还想得到关联对象里面的部分属性,比如我要AppYouKe appYouKe里面的1个属性,那么这样配置是得不到的:datas\[\d+\]\.appYouKe.property (×)
但是通过datas\[\d+\]\.appYouKe.* 又可以得到关联对象的全部属性,可是我不需要全部的属性。求助大神帮忙。