日期:2014-05-16  浏览次数:20662 次

怎么把Struts2中的List 数据转化成json类型的数据
大家好,我遇到了这样一个问题,就是在用ajax+jquery 来实现无刷新数据查询,但我在用ajax提交action并成功执行完后台的代码,返回的是一个list,我查下百度说要用把list转化成json才能把数据显示出来,我不知道怎么转化的,就算转化了以后,在页面上的el表达式循环该怎么写呢?谢谢.

action中:List list=puffbiz.gaslist(this.puff,loginUser.getCname()); //不知道这个list怎么转化成json
jsp页面:
  <c:forEach var="g" items="${sessionScope.map.list}" varStatus="varStatusName">

------解决方案--------------------
楼上说对了,可以下载一个json包,里面有个类叫JSONArray,使用它就能够转换了.
------解决方案--------------------
JSONArray jsonArray = JSONArray.fromObject(list);
String json = jsonArray.toString();
System.out.println("json === " + json);
记得加json包

------解决方案--------------------
引用:
引用:
JSONArray jsonArray = JSONArray.fromObject(list);
String json = jsonArray.toString();
System.out.println("json === " + json);
记得加json包


大哥就算转化了,然后页面的EL表达式怎么写啊
<c:for……

你都已经转经成json类型的数据了,他的格式就是这个
比如:{"username":admin,"age":22,"sex":"女"},这样子,你直接用items="${SessionScope.json.username}" 就行了。
------解决方案--------------------
Json必需的包

commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
 
List集合转换成json代码

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );