直接把List转换成json对象,然后jsp中怎么取值

如题所述

把list转换成json对象只需要简单的手动放置键值对到JSONObject,然后在put到JSONArray对象里就可以了。
举例如下:
List<Article> al = articleMng.find(f);
System.out.println(al.size());
HttpServletResponse hsr = ServletActionContext.getResponse();
if(null == al){
return ;
}
for(Article a : al){
System.out.println(a.getId()+a.getDescription()+a.getTitle());
}
JSONArray json = new JSONArray();
for(Article a : al){
JSONObject jo = new JSONObject();
jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
json.put(jo);
}
try {
System.out.println(json.toString());
hsr.setCharacterEncoding("UTF-8");
hsr.getWriter().write(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
上述代码JSONArray是引入的org.json.JSONArray包
而用net.sf.json包下JSONArray的静态方法:fromObject(list) 这是网上大多是都是直接用此方法快捷转换JSON,但是对于Hibernate级联操作关联的对象,这个方法就会报错,如果将映射文件中的级联配置去掉就行了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-18
java:
List list=new ArrayList(); list.add(new User("test")); //获取list
JSONObject json=JSONObject.fromObject(list); //list-->json的转化
sysout(json); //print [{"name":"test"}]
String content=json.toString; //toString并传递给jsp
response.getWriter().write(content);
----------------------------------------------
jsp:
jquery代码:
function callback(json){
alert("回调: "+json.name); //print test
}本回答被网友采纳
第2个回答  2013-06-18
你是想问,怎么把java的String转成js的json对象吗?
第3个回答  2013-06-18
我知道了,呵呵,明天给你说。。。。。。
相似回答