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

要把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 2023年6月10日
    00
  • Javascript Boolean constructor 属性

    以下是关于JavaScript Boolean constructor属性的完整攻略。 JavaScript Boolean constructor属性 JavaScript Boolean constructor属性是Boolean对象的一个属性,它返回对创建Boolean对象的函数的引用。该属性是静态的,可以通过Boolean构造函数访问。 下面是一个使…

    JavaScript 2023年5月11日
    00
  • php实现paypal 授权登录

    下面我给出详细的步骤和示例说明: 1. 注册PayPal商家账户 首先,你需要注册一个PayPal商家账户并登录。进入 https://developer.paypal.com/ ,点击右上角“Dashboard”,进入主页面,在“REST API apps”中创建一个新应用。在应用创建完成后,你可以从应用设置中获得API密钥。 2. 引入PayPal SD…

    JavaScript 2023年6月11日
    00
  • 如何在TypeScript中处理日期字符串

    当我们在TypeScript中处理日期字符串时,需要使用到JavaScript内置的Date对象和相关操作方法。下面给出了常用的几种操作方法。 1. 将日期字符串转为Date对象 可以通过以下方法将一个符合日期格式的字符串转为Date对象: const dateString = ‘2021-05-20’; const date = new Date(date…

    JavaScript 2023年6月1日
    00
  • Java设置httponly cookie的实现示例

    下面我会为你详细讲解“Java设置httponly cookie的实现示例”的完整攻略,并且提供两个示例说明。 概述 HTTPOnly是一种用来增强Cookie安全性的标志,其作用是防止跨站脚本攻击(XSS)窃取用户的Cookie。如果设置了HTTPOnly标志,那么JavaScript脚本将无法读取到Cookie。 在Java应用程序中,使用HTTPOnl…

    JavaScript 2023年6月11日
    00
  • JavaScript代码实现简单日历效果

    JavaScript代码实现简单日历效果 引言 日历是人们生活中必不可少的一部分,Javascript通过操作DOM元素以及CSS样式,实现了多种简单的日历效果。本文将详细介绍JavaScript如何实现一个简单的日历效果。 分析与目标 首先,我们要对一个日历的样式进行分析,发现日历主要是由星期和日期构成的,其次各个日期的显示状态需通过计算天数来完成。 所以…

    JavaScript 2023年5月27日
    00
  • 一文详解JavaScript闭包典型应用

    一、JavaScript闭包基础概念 闭包指的是函数内部能够访问其外部作用域的一种机制。简单来说,闭包就是一个函数引用了其包含作用域中的变量(即使在该函数外部调用时也能够访问这些变量)。通常,一个函数执行完毕后,其内部变量将会释放,但如果该函数内部存在闭包,则这些变量仍然会被保存。 二、闭包的经典应用 实现函数记忆 函数记忆是一种用来缓存函数结果的技术。它可…

    JavaScript 2023年6月10日
    00
  • 深入分析JQuery和JavaScript的异同

    深入分析 jQuery 和 JavaScript 的异同 JavaScript 是一门编程语言,而 jQuery 则是建立在 JavaScript 语言上的一个开源库。在许多方面,jQuery 帮助简化了JavaScript 编程,但也有一些重要的异同点需要我们深入了解。本文将会介绍这些异同点。 引入方式 在你能够使用 jQuery 或 JavaScript…

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