struts中返回json类型的数据,root为一个集合

yz1311 2014-04-14 10:19:02
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,但是这样太耗费时间和资源
...全文
186 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yz1311 2014-04-14
  • 打赏
  • 举报
回复
引用 1 楼 yufengdxw 的回复:
方法一:将那3个属性加入到UserInfo 对象中(只是它的属性),你要做的可能是复制的问题了。这种字段不多的话推荐使用 方法二:不用struts的json,自己写json,json包网上都有
引用 2 楼 wlwlwlwl015 的回复:
建议你自己写json,struts对json的支持不是很好,你可以写一个dto对象直接查出你需要的数据然后手动拼json,通过流write到前台,这样效率最高。
非常感谢,其实一般的jquery取json数据都支持多级的,但是我要用的easyui datagrid只支持一级数据,刚才在网上找了一下,找到了解决办法,datagrid还支持格式化数据 遇到同样问题的可以参考下:http://blog.csdn.net/jackymvc/article/details/9993261
小灯光环 2014-04-14
  • 打赏
  • 举报
回复
建议你自己写json,struts对json的支持不是很好,你可以写一个dto对象直接查出你需要的数据然后手动拼json,通过流write到前台,这样效率最高。
yufengdxw 2014-04-14
  • 打赏
  • 举报
回复
方法一:将那3个属性加入到UserInfo 对象中(只是它的属性),你要做的可能是复制的问题了。这种字段不多的话推荐使用 方法二:不用struts的json,自己写json,json包网上都有

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧