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

发布时间 - 2026-01-11 02:51:58    点击率:

本文介绍了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)

得到的结果

方法二:通过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  # json  # url  # json格式  # javascript解析url返回json  # JS根据key值获取URL中的参数值及把URL的参数转换成json对象  # JS将网址url转化为JSON格式的方法  # JS解析url参数为json对象问题  # 两种  # 给大家  # 最简单  # 来实现  # 大家多多  # substr  # query  # search  # gt  # port  # hostname  # pathname  # path  # item  # forEach  # key  # index  # split  # queryArr  # queryObj 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python制作简易注册登录系统  如何在阿里云完成域名注册与建站?  如何确保西部建站助手FTP传输的安全性?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  轻松掌握MySQL函数中的last_insert_id()  JS经典正则表达式笔试题汇总  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何快速重置建站主机并恢复默认配置?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  在centOS 7安装mysql 5.7的详细教程  香港网站服务器数量如何影响SEO优化效果?  如何用IIS7快速搭建并优化网站站点?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  深圳网站制作培训,深圳哪些招聘网站比较好?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  *服务器网站为何频现安全漏洞?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  高性价比服务器租赁——企业级配置与24小时运维服务  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何快速搭建高效香港服务器网站?  如何生成腾讯云建站专用兑换码?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何用wdcp快速搭建高效网站?  HTML 中动态设置元素 name 属性的正确语法详解  如何在阿里云高效完成企业建站全流程?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  韩国服务器如何优化跨境访问实现高效连接?  如何挑选最适合建站的高性能VPS主机?  Android利用动画实现背景逐渐变暗  如何用虚拟主机快速搭建网站?详细步骤解析  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  EditPlus中的正则表达式 实战(2)  C++时间戳转换成日期时间的步骤和示例代码  iOS验证手机号的正则表达式  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  nodejs redis 发布订阅机制封装实现方法及实例代码  如何在云主机上快速搭建多站点网站?  详解jQuery停止动画——stop()方法的使用  Laravel怎么使用Intervention Image库处理图片上传和缩放  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何快速生成ASP一键建站模板并优化安全性?