使用jquery的getJSON从服务器端获得数据

有时候我们需要从服务器端获取数据,来显示到页面

这时我们可以用jquery的getJSON来获得数据

这要求我们构造JSON格式的数据

json格式数据为:[{{'name':'老王'},{'age':'22'}},{{'name':'老李'},{'age':'32'}}]

前台代码:

jquery:

$.get("${pageContext.request.contextPath}/manage/orderManage_parseData.action?num="+Math.random()*1000+"&path="+encodeURI(filepath),null,function(data){
  $.each(data,function(k,v){ 
   $.each(v,function(kk,vv){
          str+="<td  height='20' bgcolor='red' class='STYLE6'><div align='center'><span class='STYLE19'>"+vv+"</span></div></td>";
        });
  });

其中data是返回的json数据,因为我们构造的是多维数组类型,所以可以通过迭代来获取其中的数据

后台服务器代码:

/**
  * getJSON请求分析数据
  */
 public void parseData(){
  HttpServletResponse response = ServletActionContext.getResponse();
  response.setCharacterEncoding("utf-8");
  List<String[]> list=new ArrayList<String[]>();
  try {
   System.out.println(path);
   path= URLDecoder.decode(path,"utf-8");
   list = ImportExportDataUtil.parseData(path);
   String[] format ={"Empo_Name","Empo_Code","User_ID","User_Pass"};
   String jsonData = ImportExportDataUtil.getJSONData(list, format);
   EmpoCode empoCode;
   for(int i=0;i<list.size();i++){
    String[] st=list.get(i);
    for(int j=0;j<format.length;j++){
     empoCode = new EmpoCode();
    }
   }
   PrintWriter writer = response.getWriter();
   writer.write(jsonData);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

其中list是List<String[]>格式的数据,format为所要构造的数据类型

上面红色字体所调用的代码如下,主要是构造json类型数据

/**
  * 返回json格式的数据,如[{name:小强,age:22},{name:小李,age:23},{name:小王,age:21}]
  * @param list 输入数据
  * @param format 转换格式,如String[] format ={"name","age"};
  * @return
  */
 public static String getJSONData(List<String[]> list,String[] format){
  StringBuffer jsonData = new StringBuffer();
  jsonData.append("[");
  for(int j=0;j<list.size();j++){
   String[] st= list.get(j);
   jsonData.append("{");
   for(int i=0;i<format.length;i++){
    if(i==format.length-1){
     jsonData.append("\""+format[i]+"\":\""+st[i]+"\"");
    }else{
     jsonData.append("\""+format[i]+"\":\""+st[i]+"\",");
    }
   }
    if(j==list.size()-1){
     jsonData.append("}");
    }else{
     jsonData.append("},");
    }
  }
  jsonData.append("]");
  return jsonData.toString();
 }

posted @ 2013-04-28 16:42  七星6609  阅读(1606)  评论(2编辑  收藏  举报