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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
Javascript调用C#代码
Jan 17 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
js键盘事件的keyCode
Jul 29 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
利用JQuery实现datatables插件的增加和删除行功能
Jan 06 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
Vue 刷新当前路由的实现代码
Sep 26 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
python实现两个文件夹的同步
2019/08/29 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
python 实现波浪滤镜特效
2020/12/02 Python
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
学生档案自我鉴定
2013/10/07 职场文书
公开承诺书格式
2014/05/21 职场文书
商业项目策划方案
2014/06/05 职场文书
2015年公司工作总结
2015/04/25 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
礼仪培训心得体会
2016/01/22 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书