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 相关文章推荐
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
JQuery基础语法小结
Feb 27 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
一些实用性较高的js方法
Apr 19 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
Jul 07 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
加速vue组件渲染之性能优化
Apr 09 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 Javascript
用vue 实现手机触屏滑动功能
May 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
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
简单的三步vuex入门
2018/05/20 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
Python多线程下载文件的方法
2015/07/10 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Flask之flask-session的具体使用
2018/07/26 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
Jupyter加载文件的实现方法
2020/04/14 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
美国知名生活购物网站:Goop
2017/11/03 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
企业领导对照检查材料
2014/08/20 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
JS数组方法some、every和find的使用详情
2021/10/05 Javascript