1.java后台json解析
string转换成json,
import net.sf.json.JSONObject;
string t="";
JSONObject json=JSONObject.fromObject(t);
list转换成json格式
JSONArray jsonArray2 = JSONArray.fromObject(“”);
前台解析json字符串
var s=eval('(' + json+ ')');(很实用的js解析json的方式)
2、json数据传到前台的几种方法
方法一、 json.toString()将json数据转换成json格式的字符串到前台,然后前台用 var s=eval('(' + json+ ')');转换,之后用按list对对象s遍历显示即可
方法二、讲data封装到Map集合中,通过json格式化之后,然后传到前台(个人推荐的一种方法,好处是可以同时多个list且代码复用性好),代码如下
//根据Map输出JSON,返回null
public static String ajaxjson(Map<String, Object> map){
JSONObject json=JSONObject.fromObject(map);
return ajax(json.toString(),"text/html");
}
// AJAX输出,返回null
public static String ajax(String content, String type) {
try {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("application/json; charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.getWriter().write(content);
response.getWriter().flush();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public class textAction(){
List example;
Map<String, Object> map = new HashMap<String, Object>();
map.put("example",example);
return ajaxjson(map);
}