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

解决方案 »

  1.   

    结构不复杂的话直接自己拼字符串。复杂的话用开源包,JSON-lib
      

  2.   

    百度JSONArrays.fromObject(list).toString();
    要导入几个包,百度搜就有了。。
      

  3.   

    struts2可以和json整合,加入json包,然后在struts.xml配置文件中设置result type=json
    就可以了,具体楼主可以查查。
      

  4.   

    用到JSON-lib包  google一下很容易找到
    List list=newA人rayList();
    JSONArray  jsonObject = JSONArray.fromObject(list); 
      

  5.   

    但是二级菜单是个list.我想把它转为一个json 到前端好拼接 <option> </option>
    该怎么弄??
    在后台拼接一个Json串,然后前台用Jquery.ajax方法得到类型为json的一个对象,然后循环此对象的属性,并对其进行前台拼接,然后把拼接的数据放到相应的节点内就OK了.
      

  6.   

    晕倒,那么麻烦干什么?jquery本身不就有转换json的函数么?
    $JSON.parse(.....);
    也可以在后台转换。
    apache json  或者 gjson都可以。
      

  7.   

    我用的是json-lib.jar这个来实现把LIST转换成json格式下面就是转换的例子只要改变了struts2中的配置文件中的返回值类型就可以了 当返回一个list时  我一般使用的是name="root" 当返回一个属性的时候我用的是name="includeProperties" 希望对你有帮助
    <result type="json" name="loadTypeInforToPaixu">
    <param name="root">extJsPageBean</param>
    </result>