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 单引号 传递方法
Jun 22 Javascript
JQuery之拖拽插件实现代码
Apr 14 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
常用的js验证和数据处理总结
Aug 02 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
vue父子组件的通信方法(实例详解)
Nov 10 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
Element-UI 使用el-row 分栏布局的教程
Oct 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
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
JQuery 入门实例1
2009/06/25 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
python中正则表达式的使用详解
2014/10/17 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
基于python代码批量处理图片resize
2020/06/04 Python
Pycharm调试程序技巧小结
2020/08/08 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
python 实现表情识别
2020/11/21 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
家居设计专业个人自荐信范文
2013/11/26 职场文书
网络工程师职业规划
2014/02/10 职场文书
教师个人考察材料
2014/12/16 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书