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全局函数使用简单说明
Mar 11 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
js打开新窗口方法整理
Feb 17 Javascript
基于BootStrap实现局部刷新分页实例代码
Aug 08 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
微信小程序 require机制详解及实例代码
Dec 14 Javascript
基于AngularJS实现的工资计算器实例
Jun 16 Javascript
Vue实现一个返回顶部backToTop组件
Jul 25 Javascript
深入理解requireJS-实现一个简单的模块加载器
Jan 15 Javascript
微信小程序模拟cookie的实现
Jun 20 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 10 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 正则匹配函数体
2009/08/25 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
测试PHP连接MYSQL成功与否的代码
2013/08/16 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
js css自定义分页效果
2017/02/24 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
Python实现备份文件实例
2014/09/16 Python
python获得一个月有多少天的方法
2015/06/04 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
详解django三种文件下载方式
2018/04/06 Python
python实现简单五子棋游戏
2019/06/18 Python
python 求定积分和不定积分示例
2019/11/20 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
重大事项社会稳定风险评估方案
2014/06/15 职场文书
信仰心得体会
2014/09/05 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2014年应急工作总结
2014/12/11 职场文书
信访工作个人总结
2015/03/03 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏