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的各种节点操作实例演示代码
Jun 27 Javascript
随窗体滑动的小插件sticky源码
Jun 21 Javascript
jQuery的$.proxy()应用示例介绍
Apr 03 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
深入浅析react native es6语法
Dec 09 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
JS获取IMG图片高宽的简单实例
May 17 Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
Feb 22 Javascript
Angular中ng-options下拉数据默认值的设定方法
Jun 21 Javascript
javascript与PHP动态往类中添加方法对比
Mar 21 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中的unicode和utf8编码
2015/06/10 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
不安全的常用的js写法
2009/09/15 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python变量赋值的秘密分享
2018/04/03 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python实现控制台输出彩色字体
2020/04/05 Python
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
安全检查验收制度
2014/01/12 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
群众路线调研报告范文
2014/11/03 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
律师催款函范文
2015/06/24 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis