JavaScript递归实现JSON对象转复杂URL查询参数

作者:木棉

时间:2026-10-30

浏览:573

本文介绍在JavaScript中如何将包含嵌套对象和数组的JSON数据递归拼接为标准的URL查询字符串。通过自定义parseParam函数处理深层级结构,并演示如何为参数添加前缀。同时提供使用eval将JSON字符串转换为对象的方法,供前端开发参考。

文章目录

JSON对象转URL参数核心逻辑


var parseParam=function(param, key){ 

  varparamStr=""; 

  if(paraminstanceof String||param instanceof Number||param instanceof Boolean){ 

    paramStr+="&"+key+"="+encodeURIComponent(param); 

  }else{ 

    $.each(param,function(i){ 

      vark=key==null?i:key+(paraminstanceof Array?"["+i+"]":"."+i); 

      paramStr+='&'+parseParam(this, k); 

    }); 

  } 

  returnparamStr.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"

JSON字符串转换为对象的方法

以下是将字符串转换为JSON对象的方法:

定义一个JSON格式的字符串:var define = "{name: 'Michael ',email: '17bity@gmail.com '} ";

使用eval函数将其转换为对象:var data = eval( '( ' + define + ') ');

验证转换结果:alert(data.name);

以上介绍了JavaScript中将JSON格式对象拼接为复杂URL参数的具体实现方法,以及字符串转对象的技巧,供开发者参考使用。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章