struts.xml
<result name="getInfo" type="json">
<param name="root">list</param>
</result>
这是action中的list定义
private List<Student> list;
Student.java定义
// Fields
private Integer UId;
private UserInfo userInfo;
private String SName;
private String SPassword;
//setter getter省略
这是返回的json数据,很明显,userInfo是作为一个单独的键存在的(这只不过是一条数据,也就是list中一个对象序列化产生的json数据)
{"SName":"dasd","SPassword":"q","UId":4,"userInfo":{"UEmail":"qw","UId":4,"ULastLoginTime":null,"ULevel":null,"UOther":null,"UPhone":"qw","student":null,"teacher":null}}
现在我就想将userInfo里面的键值对放在最外面,也就是这样
{"SName":"dasd","SPassword":"q","UId":4,"UEmail":"qw","UId":4,"ULastLoginTime":null,"ULevel":null,"UOther":null,"UPhone":"qw","student":null,"teacher":null}
请问有什么办法?
我能想到的是将两个list整合成一个list,然后返回整合后的list,但是这样太耗费时间和资源
------解决方案--------------------
方法一:将那3个属性加入到UserInfo 对象中(只是它的属性),你要做的可能是复制的问题了。这种字段不多的话推荐使用
方法二:不用struts的json,自己写json,json包网上都有
------解决方案--------------------
建议你自己写json,struts对json的支持不是很好,你可以写一个dto对象直接查出你需要的数据然后手动拼json,通过流write到前台,这样效率最高。