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 相关文章推荐
FCK调用方法..
Dec 21 Javascript
javascript 常用代码技巧大收集
Feb 25 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
Oct 01 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
JavaScript实现网页头部进度条刷新
Apr 16 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
Mar 11 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
Node.js爬虫如何获取天气和每日问候详解
Aug 26 Javascript
js实现文字头像的生成代码
Mar 07 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中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python中update的基本使用方法详解
2019/07/17 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
公司出纳岗位职责
2013/12/07 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
家长反馈意见及建议
2015/06/03 职场文书
2016年教代会开幕词
2016/03/04 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
详解Python类和对象内容
2021/06/22 Python
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫