我后台的代码如下:
List<RateValueVo> list=new ArrayList();
list=cimCircuitServiceImpl.queryRateListByName(mrid);
String pingJson="[";
for(int i=0;i<list.size();i++){
RateValueVo vo=list.get(i);
pingJson+="{mrid:'"+vo.getMrid()+"',riskLevelName:'"+vo.getRiskLevelName()+"',statusLevelName:'"+vo.getStatusLevelName()+"'}";
if(i+1<list.size()){
pingJson+=",";
}
}
pingJson += "]";
JSONArray JsonArray = JSONArray.fromObject(pingJson);
String json = JsonArray.toString().substring(0, JsonArray.toString().length());返回的json数据为:[{"mrid":"22551121","riskLevelName":"Ⅳ级","statusLevelName":"严重状态"},{"mrid":"22561655","riskLevelName":"Ⅳ级","statusLevelName":"严重状态"},{"mrid":"22549447","riskLevelName":"Ⅳ级","statusLevelName":"严重状态"}]我前台的代码: url="<%=basePath%>queryRateByCircuit.action";
var param="mrid="+mrid;
Ext.Ajax.request({
                 method : 'POST', 
                 url: url,
                 success:function(response,option){
        var jsonstr = eval('('+response.responseText+')'); //得到返回的数据
        var len=jsonstr.length;
       
        var rikLevel=new Array();
        var mrid=new Array();
        //var statusLevel=new Array();
        var All=new Array(mrid,rikLevel)
        for(var i=0;i<jsonstr.length;i++){
        for(var j=0;j<jsonstr.length-1;j++){
        All[i][j]=jsonstr[i];
        //rikLevel[i][j]=jsonstr[i].riskLevelName;
       
        }
        }
       
        //alert(rikLevel);
        //alert(statusLevel);
        },
                 failure: function(request){
                 alert("操作失败");
                flag = false;
                },
                 params: param});
    }
我现的想把后台返回的数组数据用js生成二维数组,如[22551121,Ⅳ级],[22561655,Ⅳ级],如果是这样的话,请问该怎么实现 ,谢谢!

解决方案 »

  1.   

    不太明白你转换为二维数组的意义在哪里? 难道每个ID(以22551121为例) 还会对应多个级别吗?                        如果想转换成二维数组  先定义Array 存储ID  再在每个 ID对应的Array上添加 每个ID对应的信息。(建议参考省市级联  这个是比较典型的)
      

  2.   

    就是每个id,对应一个级别,我想把后台返回的一维数组转换成二维数组如[22551121,IV级]