将json转换成struts参数

加入对象为{name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]}
struts2期待的格式是 name=tom&class.className=class1&classMates[0].name=lily

var parseParam=function(param, key){
    var paramStr="";
    if(param instanceof String||param instanceof Number||param instanceof Boolean){
        paramStr+="&"+key+"="+encodeURIComponent(param);
    }else{
        $.each(param,function(i){
            var k=key==null?i:key+(param instanceof Array?"["+i+"]":"."+i);
            paramStr+='&'+parseParam(this, k);
        });
    }
    return paramStr.substr(1);
};
 

//调用:
var obj={name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]};
parseParam(obj);
//结果:
"name=tom&class.className=class1&classMates[0].name=lily"
parseParam(obj,'stu');
//结果:
"stu.name=tom&stu.class.className=class1&stu.classMates[0].name=lily"

 

 

欢迎大家加入QQ群(15129679)交流学习讨论 。

你可能感兴趣的:(将json转换成struts参数)