node中querystring模块的使用

querystring module

node 中 querystring 模块的使用

使用 querystring 模块之前,需要先引入这一模块:

const querystring = require("querystring");

以下将列举这些方法:

  • querystring.parse(str[, sep[, eq[, options]]])
  • querystring.stringify(obj[, sep[, eq[, options]]])
  • querystring.escape(str)
  • querystring.unescape(str)

一个一个运行看看

querystring.parse(str[, sep[, eq[, options]]])

它将 URL 查询字符串形如 foo=bar&abc=xyz&abc=123 解析为键值对的集合 {foo: 'bar', abc: ['xyz', '123']}

它包含几个参数:

  • str 这是唯一的必选参数,放置需要解析的查询字符串
  • sep 可选,放置分割键值对的字符串,默认为 &
  • eq 可选,放置分割键和值的字符串,默认为 =
  • options 可选
    • decodeURIComponent 对百分比编码字符进行解码时使用的函数,默认是 querystring.unescape() 这个函数下面会提及
    • maxKeys 解析的键的最大数量,默认为 1000,如果设置 0 代表移除限制

一个例子:

> querystring.parse('foo=bar&abc=xyz&abc=123')
[Object: null prototype] { foo: 'bar', abc: [ 'xyz', '123' ] }

querystring.stringify(obj[, sep[, eq[, options]]])

它的功能和上一个方法相对。它会迭代给定 obj{foo: 'bar', abc: ['xyz', '123']} 的所有属性,生成 URL 查询字符串 foo=bar&abc=xyz&abc=123

它包含几个参数:

  • obj 这是要转化为 URL 查询字符串的对象,是必选参数
  • sep 可选,放置分割键值对的字符串,默认为 &
  • eq 可选,放置分割键和值的字符串,默认为 =
  • options
    • encodeURIComponent 将 URL 中的不安全字符如 汉字 转换为百分比编码时使用的函数

一个板栗:

> querystring.stringify({foo: 'bar', abc: [ 'xyz', '123' ]})
'foo=bar&abc=xyz&abc=123'

querystring.escape(str)

对给定的 str执行 URL 百分比编码

如:

> querystring.escape("网站hxhen")
'%E7%BD%91%E7%AB%99hxhen'

querystring.unescape(str)

这是百分比编码的解码

如:

> querystring.unescape('%E7%BD%91%E7%AB%99hxhen')
'网站hxhen'

这两个百分比编解码的函数一般不会直接调用,而是在前两个 parsestringify 方法中间接使用。

以上。

移动端体验更佳~

发表评论

电子邮件地址不会被公开。 必填项已用*标注