javascript将url解析为json格式的两种方法


Posted in Javascript onAugust 18, 2017

本文介绍了javascript将url解析为json格式的两种方法,分享给大家,具体如下:

方法一:最简单的方法,利用a标签来实现

function parseUrl(url){
  var a=document.createElement('a');
  a.href=url;
  return {
   protocol:a.protocol.replace(':',''),
   hostname:a.hostname,
   port:a.port,
   path:a.pathname,
   query:(()=>{
    var query=a.search.substr(1);
    var queryArr=query.split('&');
    var queryObj={};
    queryArr.forEach((item,index)=>{
      var item=item.split('=');
      var key=item[0];
      queryObj[key]=item[1];
    })
    return queryObj;
   })(),
    params:(()=>{
    var params=a.hash.substr(1);
    var paramsArr=params.split('#');
    return paramsArr;
    
   })(),

  }
}
var urlObj = parseUrl('http://www.baidu.com:90/search?name=liyajie&age=12#abc#bbb')
console.log(urlObj)

得到的结果

javascript将url解析为json格式的两种方法

方法二:通过nodejs的url模块

解析URL需要用到Node.js提供的url模块,它使用起来非常简单,通过parse()将一个字符串解析为一个Url对象:

'use strict';
   var url = require('url');
   console.log(url.parse('http://user:pass@host.com:8080/path/to/file?query=string#hash'));

返回的结果

Url {
 protocol: 'http:',
 slashes: true,
 auth: 'user:pass',
 host: 'host.com:8080',
 port: '8080',
 hostname: 'host.com',
 hash: '#hash',
 search: '?query=string',
 query: 'query=string',
 pathname: '/path/to/file',
 path: '/path/to/file?query=string',
 href: 'http://user:pass@host.com:8080/path/to/file?query=string#hash' }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中的Location地址对象
Jan 16 Javascript
JS启动应用程序的一个简单例子
May 11 Javascript
几个比较经典常用的jQuery小技巧
Mar 01 Javascript
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
javascript 小数取整简单实现方式
May 30 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
javascript实现淘宝幻灯片广告展示效果
Apr 27 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
Apr 01 Javascript
Javascript的无new构建实例详解
May 15 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 Javascript
Vue组件选项props实例详解
Aug 18 #Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 #Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 #Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 #Javascript
Vue中引入样式文件的方法
Aug 18 #Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 #jQuery
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 #Javascript
You might like
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python中异常重试的解决方案详解
2017/05/05 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python实现AES加密与解密
2019/03/28 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
python中pdb模块实例用法
2021/01/15 Python
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
协议书模板
2014/04/23 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
财务稽核岗位职责
2015/04/13 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏