Node.js querystring.decode() 函数

2025年2月13日 | 阅读 4 分钟

querystring.decode() 方法用于解码通过 URL 传递的查询字符串,然后创建一个包含查询 URL 的键值对的对象。在这种情况下,返回的对象不会发生 JavaScript 对象的原型继承。因此,那些常规的对象方法将不起作用。除非指定了其他字符集格式,否则假定使用 UTF-8 编码格式进行解析。在这种情况下,设置为解码替代字符编码的指令是通过将该选项作为 decodeURIComponent 来提供的。

语法

它具有以下语法:

参数

有了这四个参数,我们可以进行前面提到的各种赋值,并附有简要说明。

str: 一个存储需要解码的 URL 部分的值。

sep: 字符串,用于指定分割查询字符串中提供的键值对的子字符串,在本例中为 `&`。默认值为 `&`。

eq: 字符串,用于确定用于分隔名称值头部中键和值的子字符串。表达式 `=` 是我们使用的默认值。

options: 这是一个引用,指向调用方法时要执行的操作。它具有以下参数:

  • decodeURIComponent: 这是一个用于解码查询字符串的百分比编码字符的函数。默认情况下,其值为 `querystring`。
  • maxKeys: 这是一个定义要添加到查询字符串的最大键数的元素。值为零可以移除所有上层计数。现在,默认值为一千。

返回值: 返回一个包含两个元素的对象,即键值,即查询字符串解析成的任何内容。

示例 1

让我们用一个例子来说明 Node.js 的 querystring.decode() 函数。

输出

 
Result:  [Object: null prototype] {
  user: 'himansh',
  isMale: 'true',
  role: 'developer'
}

说明

  • 在提供的 Node.js 示例中,我们创建了一个 HTML 表单,并使用 JS 来演示我们示例中的 URL 查询字符串。使用 decode() 函数解析 URL 查询字符串,然后将其转换为 JavaScript 对象。
  • 最初,从 querystring 包导入一个脚本,其中包含解析和生成 URL 查询字符串的方法。在此之后,给出了 URL 查询字符串的格式。它显示了使用 `&` 作为不同键值对之间的分隔符。query_string.decode 指定 URL 查询字符串作为参数,然后调用该参数来解析并将其解码为 JSON 对象。之后,对象被解码并记录到控制台中。浏览器的控制台输出 URL 查询字符串的对象形式,即 JavaScript。
  • 这些属性与查询字符串属性相对应,其中查询字符串中的每个键值对都映射到 JavaScript 对象中的相应属性值对。它有助于在 Node.js 应用程序中获取查询参数的编辑和赋值给变量或动态部署。

示例 2

让我们再举一个例子来说明 Node.js 的 querystring.decode() 函数。

输出

 
Result 1 :  [Object: null prototype] {
  user: 'himansh',
  isMale: 'true',
  role: [ 'Developer', 'Architect' ]
}
Result 2 :  [Object: null prototype] { user: 'himansh', isMale: 'true' }

说明

  • 在此示例中,我们创建一个 HTML 表单,然后使用 Node.js 来演示 URL 的查询字符串。在此说明中,我们没有为每个输入提供任何 action 属性,并且使用了一个没有 onClick 属性的提交按钮。decode() 函数的使用使我们能够获取 URL 查询字符串,然后将其转换为 JavaScript 对象。
  • 最初,导入一个声明 querystring 包的查询字符串。它包含用于解析和生成 URL 查询字符串的方法。接下来,将说明 URL 查询字符串的格式。它指出使用 **'and'** 作为前一个元素的中间连接符,其中名称键值对被分隔。
  • query_string.decode 接受 url 查询字符串作为参数,然后将其传递给处理它以转换为 JSON 对象的功能。之后,对象被解码,并发送到控制台进行记录。
  • 浏览器控制台显示了以 JavaScript 编写的 URL 查询字符串的对象表示。查询字符串的键与属性字符串沿向量对齐,其中查询字符串中的每个键值对都对应于 JavaScript 对象中的给定属性值对。因此,这些查询参数需要仔细检查并赋值给 Node.js 应用程序中的变量/动态目标。

结论

总之,Node.js 中的 querystring.decode() 函数是解析和解码 URL 查询字符串的主要部分之一。在这里,开发人员能够分离键值对并将它们转换为 JavaScript 对象。它是一个灵活的系统,具有各种开发人员可以处理的输入格式和配置;因此,它作为 Node 中接受来自 URL Nodejs 应用程序的参数的组件发挥着至关重要的作用。

该函数能够解析 URL 查询字符串并返回 JavaScript 对象,这将允许轻松的数据处理和操作。URL 参数的集成对于 Node.js 应用程序来说变得更加容易。总的来说,querystring.decode() 通过提供一种成熟的方法来处理 URL 查询字符串信息,从而提高了 Node.js 程序的许多功能和灵活性。