node中querystring模块的使用

node 中 querystring 模块的使用

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

1const 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 代表移除限制

一个例子:

1> querystring.parse('foo=bar&abc=xyz&abc=123')
2[Objectnull 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 中的不安全字符如 汉字 转换为百分比编码时使用的函数

一个板栗:

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

querystring.escape(str)

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

如:

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

querystring.unescape(str)

这是百分比编码的解码

如:

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

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

以上。

移动端体验更佳~

留下评论

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