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 IE 与 FF中兼容问题小结
Feb 18 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
读jQuery之一(对象的组成)
Jun 11 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
跟我学习javascript的arguments对象
Nov 16 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
微信小程序实现实时圆形进度条的方法示例
Feb 24 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
npm全局模块卸载及默认安装目录修改方法
May 15 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
在微信小程序中使用mqtt服务的方法
Dec 13 Javascript
原生js实现的观察者和订阅者模式简单示例
Apr 18 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
如何过滤高亮显示非法字符
2006/10/09 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP中使用BigMap实例
2015/03/30 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
js实现二级导航功能
2017/03/03 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
简单了解django索引的相关知识
2019/07/17 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
nohup的用法
2012/11/26 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
行政监察建议书
2014/05/19 职场文书
白酒营销策划方案
2014/08/17 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
在职证明范本
2015/06/15 职场文书
三八节祝酒词
2015/08/11 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
MySQL 逻辑备份 into outfile
2022/05/15 MySQL