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 相关文章推荐
jQuery 性能优化指南(2)
May 21 Javascript
javascript十个最常用的自定义函数(中文版)
Sep 07 Javascript
转换json格式的日期为Javascript对象的函数
Jul 13 Javascript
JavaScript 原型学习总结
Oct 29 Javascript
一个JQuery操作Table的代码分享
Mar 30 Javascript
js定时器的使用(实例讲解)
Jan 06 Javascript
使用console进行性能测试
Apr 27 Javascript
Jquery常用的方法汇总
Sep 01 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 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的分页功能
2007/03/21 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
jQuery实现简单日历效果
2020/07/05 jQuery
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
分享一个简单的python读写文件脚本
2017/11/25 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
信号生成及DFT的python实现方式
2020/02/25 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
国家助学金感谢信
2015/01/21 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang