JavaScript实现url参数转成json形式


Posted in Javascript onSeptember 25, 2016

朋友问的一个面试题:有个url,要求获取url 的参数,返回值为json格式。

简单的写了下,发笔记备份。

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>simple a example for url to json</title>
 <script>
 var url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=慕课&rsv_pq=e379bd8200001a8c&rsv_t=ea8cxrgm03IFb44zHA261P6KziPRXAekcjwsRJtUSKLUmKweFsZFXE%2BUSrU&rqlang=cn&rsv_enter=0&rs';

 function url2json(url){
  var index = -1,
     str = '',
     arr = [],
     length = 0,
     res = {};
  if(url.indexOf('?')!=-1){
  index = url.indexOf('?');
  str = url.substring(index+1);
  arr = str.split('&');
  length = arr.length;
  for(var i=0; i<length-1; i++){
   res[arr[i].split('=')[0]] = arr[i].split('=')[1];
  }
  }else{
  res = {};
  }
  return res;
 };

 var result = url2json(url);

 //获取json的键值对条数(模拟长度)
 var length = 0;
 for(var i in result){
  length++;
 }


 //在页面输出
 var tL = 0;
 document.write('{<br>');
 for(var name in result){
  tL++;
  
  if(tL == length){
  document.write('  '+name+':'+result[name]+'<br>');
  }else{
  document.write('  '+name+':'+result[name]+',<br>'); 
  }
 }
 document.write('}');
 </script>
</head>
<body>
Javascript 相关文章推荐
JavaScript执行效率与性能提升方案
Dec 21 Javascript
DWR实现模拟Google搜索效果实现原理及代码
Jan 30 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
跨域传值即主页面与iframe之间互相传值
Dec 09 Javascript
JavaScript 面向对象与原型
Apr 10 Javascript
javascript实现表格增删改操作实例详解
May 15 Javascript
javascript中Date()函数在各浏览器中的显示效果
Jun 18 Javascript
巧用canvas
Jan 21 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
Aug 23 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
Aug 28 Javascript
动态JavaScript所造成一些你不知道的危害
Sep 25 #Javascript
jQuery中的AjaxSubmit使用讲解
Sep 25 #Javascript
需要牢记的JavaScript基础知识
Sep 25 #Javascript
分享一个原生的JavaScript拖动方法
Sep 25 #Javascript
HTML中setCapture、releaseCapture 使用方法浅析
Sep 25 #Javascript
jQuery的deferred对象使用详解
Sep 25 #Javascript
简单谈谈Vue 模板各类数据绑定
Sep 25 #Javascript
You might like
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
PHP7 标准库修改
2021/03/09 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
资料员的岗位职责
2013/11/20 职场文书
拓展培训心得体会
2014/01/04 职场文书
2014年高考决心书
2014/03/11 职场文书
滴水洞导游词
2015/02/10 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android