日期:2014-05-19  浏览次数:20743 次

list如何转为json格式??
我是做级联的 当第一个选框值改变的时候 用jquery $.post()方法与后台交互数据 获取二级菜单
现成功获取到了
但是二级菜单是个list.我想把它转为一个json 到前端好拼接 <option> </option>
该怎么弄??
另外弱弱的问一句
我是改造action转换呢 还是service层进行数据格式转换,一直以来都说service是什么业务逻辑 但是好像很少在那层搞什么业务呵呵!!!!
struts2+spring+hibernate的框架 呵呵!周六加班 伤不起啊!!


------解决方案--------------------
结构不复杂的话直接自己拼字符串。

复杂的话用开源包,JSON-lib
------解决方案--------------------
百度JSONArrays.fromObject(list).toString();
要导入几个包,百度搜就有了。。


------解决方案--------------------
struts2可以和json整合,加入json包,然后在struts.xml配置文件中设置result type=json
就可以了,具体楼主可以查查。
------解决方案--------------------
用到JSON-lib包 google一下很容易找到
List list=newA人rayList();
JSONArray jsonObject = JSONArray.fromObject(list);
------解决方案--------------------
但是二级菜单是个list.我想把它转为一个json 到前端好拼接 <option> </option>
该怎么弄??
在后台拼接一个Json串,然后前台用Jquery.ajax方法得到类型为json的一个对象,然后循环此对象的属性,并对其进行前台拼接,然后把拼接的数据放到相应的节点内就OK了.

------解决方案--------------------
晕倒,那么麻烦干什么?jquery本身不就有转换json的函数么?
$JSON.parse(.....);
也可以在后台转换。
apache json 或者 gjson都可以。
------解决方案--------------------
我用的是json-lib.jar这个来实现把LIST转换成json格式下面就是转换的例子

只要改变了struts2中的配置文件中的返回值类型就可以了 当返回一个list时 我一般使用的是name="root" 当返回一个属性的时候我用的是name="includeProperties" 希望对你有帮助
<result type="json" name="loadTypeInforToPaixu">
<param name="root">extJsPageBean</param>
</result>