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函数库-集合框架
Apr 27 Javascript
Javascript 读后台cookie代码
Sep 15 Javascript
精通Javascript系列之数值计算
Jun 07 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
基于JS实现翻书效果的页面切换样式
Feb 16 Javascript
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
AngularJS实现的base64编码与解码功能示例
May 17 Javascript
JS实现数组去重的11种方法总结
Apr 04 Javascript
vue项目如何打包之项目打包优化(让打包的js文件变小)
Apr 30 Vue.js
动态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初学者头疼问题总结
2006/07/08 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
一个javascript参数的小问题
2008/03/02 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
Python函数生成器原理及使用详解
2020/03/12 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
求职意向书
2014/04/01 职场文书
年度考核表个人总结
2015/03/06 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
商场营业员岗位职责
2015/04/14 职场文书
离婚案件上诉状
2015/05/23 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis