📌  相关文章
📜  javascript 从查询字符串 json 对象中获取参数 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:41.353000             🧑  作者: Mango

JavaScript 从查询字符串 JSON 对象中获取参数

在 Web 开发中,查询字符串是指在 URL 地址中以 ? 开头,参数以键值对的形式出现,多个参数之间以 & 分隔的字符串。例如:

https://example.com/?param1=value1&param2=value2

有时候我们需要从这个查询字符串中获取某个参数的值,而这个查询参数又是一个 JSON 对象的形式。下面是一些用 JavaScript 从查询字符串 JSON 对象中获取参数的方法。

方法一:手动解析 JSON 对象

首先,我们可以手动解析 JSON 对象。我们可以从 URL 获取查询字符串,然后用 JSON.parse() 方法将其解析为 JSON 对象。最后,我们可以通过对象的属性名获取对应的参数值。代码如下:

const queryString = window.location.search;
const params = JSON.parse(decodeURIComponent(queryString.substr(1)));

const param1 = params['param1'];
const param2 = params['param2'];

这段代码将会返回解析后的 JSON 对象,并以 param1param2 作为属性名,分别得到它们的值。

注意:decodeURIComponent 方法是用于解码 URL 中的特殊字符的函数。在这里使用是为了解码查询字符串中的 %20 等特殊字符。

方法二:使用 URLSearchParams API

从 ECMAScript 6 引入的 URLSearchParams API 可以更容易地获取查询字符串参数。我们可以使用它提供的 get()getAll() 方法获取参数的值。代码如下:

const params = new URLSearchParams(window.location.search);

const param1 = params.get('param1');
const param2 = params.get('param2');

这段代码将会返回解析后的 URLSearchParams 对象,并以 param1param2 作为键名,分别得到它们的值。

方法三:使用第三方库

除了手动解析和使用 URLSearchParams API,我们还可以使用一些第三方库来解析查询字符串 JSON 对象。比如 Qsquery-string。它们的使用方法类似于方法一,只是需要额外导入库后使用。

以上就是从查询字符串 JSON 对象中获取参数的一些方法,可以根据实际情况灵活选择。