中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    js获取通过ajax返回的map型的JSONArray的方法

    阅读 (2548)
    代码如下:
    for(var i in datares){ 
    if (datares.hasOwnProperty(i)) { 
    sel.append("<option value='"+datares[i].deptid+"'>"+datares[i].deptname+"</option>"); 
    } 
    
    } 
    

    ajax请求返回map,并遍历

    $.ajax({
           type: "POST",
    url: "<%=path%>/account/queryRolesAndGroups.action",
    data: "enterpriseId="+eid,
    success: function(msg){
    var obj=eval("(" + msg + ")");
    $.each(obj.groupList, function(i,item){      
    alert(item.groupName); 
      })
    }
    })  
    })
    

    发送请求到后台,然后后台通过各种操作,得到相应数据


    如果数据为 map,map中包含了多个list,

    pw.print(net.sf.json.JSONObject.fromObject(returnMap.get("map")).toString());

    后台这样转换,然后前台转换下:var obj=eval("(" + msg + ")");

    就可以遍历里面的数据了(注意:net.sf.json.JSONArray.fromObject(returnMap.get("list")).toString())这样是转换单个集合时适用,然后前台直接遍历即可,不需要强转

    success: function(msg){
    alert(msg.length);
    $.each(msg, function(i,item){      
    alert(item.name); 
       })
    }
    

    JSONArray转包含多个list的map时适用。

    还有后台pw.print和pw.println的使用也要注意,当单个数据0,1来给后台判断时,pw.println会带换行符,永远不等于0,1.

    response.setContentType("text/plain;charset=UTF-8");

         PrintWriter pw =response.getWriter();

    这两句对返回乱码处理也要特别注意先后顺序。     

    PrintWriter pw =response.getWriter();在前的话,转换也不起作用!


    关闭
    程序员人生