架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 161|回复: 1

[JavaScript] js将json格式的对象拼接成复杂的url参数方法

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-4 09:52:40
zu
  1. var parseParam=function(param, key){

  2.   varparamStr="";

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

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

  5.   }else{

  6.     $.each(param,function(i){

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

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

  9.     });

  10.   }

  11.   returnparamStr.substr(1);

  12. };
复制代码
//调用:

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"

将string 转换成json对象

var   define   =   "{name: 'Michael ',email: '17bity@gmail.com '} ";
var   data   =   eval( '( '   +   define   +   ') ');
alert(data.name);

以上这篇js将json格式的对象拼接成复杂的url参数方法就是小编分享给大家的全部内容了





上一篇:麦子学院网络安全工程师视频教程从入门到精通
下一篇:Angular 关于获取Matrix URL 和 普通URL 查询字符串问题
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
沙发
 楼主| 发表于 2019-6-4 09:53:14
将一个对象拼接在url的后面

  1. function createURL(url, param) {
  2.             var urlLink = '';
  3.             $.each(param, function(item, key) {
  4.                 var link = '&' + item + "=" + key;
  5.                 urlLink += link;
  6.             })
  7.             urlLink = url + "?" + urlLink.substr(1);
  8.             return urlLink.replace(' ', '');
  9.         }
复制代码
解析url 拿到参数对象

  1. function parseQueryString(url) {
  2.             var result = {};
  3.             if (url.indexOf('?') > -1) {
  4.                 var str = url.split('?')[1];  
  5.                 var temp = str.split('&');  
  6.                 for (var i = 0; i < temp.length; i++) {     
  7.                     var temp2 = temp[i].split('=');     
  8.                     result[temp2[0]] = temp2[1];  
  9.                 }  
  10.             }
  11.             return result;
  12.         }
  13.     }
复制代码


码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-7-18 06:48

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表