一个JavaScript函数把URL参数解析成Json对象

yizhihongxing

要把URL参数解析成Json对象,可以使用JavaScript的内置方法URLSearchParams,该方法可用于解析URL查询字符串中的参数。具体步骤如下。

步骤一:获取URL参数字符串

使用window.location.search获取URL的查询字符串,然后去除开头的问号“?”,得到纯参数字符串。

const searchParams = window.location.search.slice(1); // 去除开头的问号“?”

步骤二:将参数字符串转成URLSearchParams对象

使用URLSearchParams构造函数将参数字符串转为一个URLSearchParams对象,便于后续解析。

const params = new URLSearchParams(searchParams);

步骤三:遍历URLSearchParams对象,将参数转成Json对象

使用URLSearchParams.entries()方法遍历params对象的所有参数,再将每个参数转成一个键值对,最终将所有键值对存储到一个Json对象中。

const json = {};
for(const [key, value] of params.entries()) {
  json[key] = value;
}

完整代码

将以上三个步骤合成一个函数parseParamsToJSON(),可以得到如下实现。

function parseParamsToJSON() {
  const searchParams = window.location.search.slice(1);
  const params = new URLSearchParams(searchParams);
  const json = {};
  for (const [key, value] of params.entries()) {
    json[key] = value;
  }
  return json;
}

示例说明

例如,我们有以下一个URL:

http://example.com/?name=john&age=21&gender=male

使用以上代码调用parseParamsToJSON()函数,可以得到如下结果:

{
  name: "john",
  age: "21",
  gender: "male"
}

如果有多个同名参数,例如以下URL:

http://example.com/?name=john&age=21&name=emily

使用以上代码调用parseParamsToJSON()函数,可以得到如下结果:

{
  name: ["john", "emily"],
  age: "21"
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一个JavaScript函数把URL参数解析成Json对象 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 浅析JavaScript中的类型和对象

    浅析JavaScript中的类型和对象 JavaScript数据类型 JavaScript中有多种数据类型,包括: 基本类型: Number:数值类型,如1、2、3等。 String:字符串类型,如”hello world”等。 Boolean:布尔类型,包括true和false。 Null:表示空值。 Undefined:表示未定义。 引用类型: Obje…

    JavaScript 2023年5月27日
    00
  • JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符

    学习笔记4:JavaScript运算符和操作符 JavaScript中的运算符是用于执行各种数学和逻辑操作的符号。操作数可以是变量、常量、表达式或函数的结果。本文将带领读者掌握JavaScript中的基本运算符和操作符。 运算符 运算符是用于执行数学计算的符号,如加号、减号、乘号、除号、取余等。以下是JavaScript中常见的运算符: 算术运算符 运算符 …

    JavaScript 2023年5月18日
    00
  • 基于JS实现操作成功之后自动跳转页面

    下面我详细讲解一下“基于JS实现操作成功之后自动跳转页面”的完整攻略。 步骤一:编写触发跳转的函数 在JS中实现页面的跳转,通常需要我们编写一个函数,用来触发页面跳转的动作。先来看一个简单的示例代码: function jumpTo(url) { location.href = url; } 这是一个最简单的跳转函数,它只需要传入一个目标URL参数,即可实现…

    JavaScript 2023年6月11日
    00
  • 关于Javascript闭包与应用的详解

    关于JavaScript闭包与应用的详解 什么是闭包 简单来讲,闭包就是函数和函数所持有的变量的组合体。当一个函数内部定义了另一个函数,并将这个内部函数返回时,包含这个内部函数及其所引用的变量的部分一起称为闭包。 function outerFunction() { let outerVariable = ‘I am outer!’; function in…

    JavaScript 2023年6月10日
    00
  • 前端设计模式——路由模式

    路由模式(Router Pattern):将页面的不同状态映射到不同的URL路径上,使得用户可以直接通过URL来访问页面的不同状态。 路由模式通常用于实现单页面应用(SPA)的页面导航和状态管理。具体来说,路由模式通过解析URL路径来确定应该显示哪个页面,并使用历史记录API来管理页面状态。 一般来说,路由模式包含以下几个关键部分: 1. 路由表:定义URL…

    JavaScript 2023年4月18日
    00
  • javascript学习笔记(八)正则表达式

    JavaScript学习笔记(八)正则表达式 什么是正则表达式? 正则表达式是一种高级的文本匹配工具,它允许您通过定制化的模式来识别文本中的特定字符和模式。使用正则表达式可以快速,简单地从大量的文本或数据中提取信息,这是数据分析、数据挖掘等领域中必备的技能。 正则表达式语法 正则表达式是由文本字符和特殊字符构成的文本模式。下面是一些基本的正则表达式语法: ^…

    JavaScript 2023年5月19日
    00
  • javascript cookie操作类的实现代码小结附使用方法

    JavaScript Cookie 操作类的实现代码小结 什么是 Cookie Cookie 是一种在浏览器中用于存储信息的小型文本文件,通常用来存储用户的偏好设置、购物车内容等信息。Cookie 存储在用户的计算机上,由服务器生成并发送给浏览器。 JavaScript Cookie 操作类实现 以下代码演示了如何通过 JavaScript 操作 Cooki…

    JavaScript 2023年6月11日
    00
  • 跨平台移动WEB应用开发框架iMAG入门教程

    跨平台移动WEB应用开发框架iMAG入门教程 什么是iMAG iMAG是一款基于HTML5技术开发出的跨平台移动Web应用开发框架,它可以让开发者使用Web技术开发出安装在iOS、Android、Windows Phone等移动终端设备的应用。使用iMAG框架,开发者无需学习Objective-C、Java等编程语言,只需掌握HTML、CSS和JavaScr…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部