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 文档碎片
Jul 13 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
用jquery中插件dialog实现弹框效果实例代码
Nov 15 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
Apr 22 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
如何编写jquery插件
2017/03/29 jQuery
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
函数指针的定义是什么
2016/08/14 面试题
商业活动邀请函
2014/02/04 职场文书
爱国演讲稿400字
2014/05/07 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
2014年工程部工作总结
2014/11/25 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang