node之querystring模块

前言
  querystring 模块提供了一些实用工具,用于解析与格式化 URL 查询字符串。

一、querystring.parse()

  用于将一个查询字符串解析为JS 对象。

const querystring = require('querystring');

let str = 'foo=bar&abc=xyz&abc=123';

console.dir(querystring.parse(str));
//{ foo: 'bar', abc: [ 'xyz', '123' ] } 

  parse方法一共可以接受四个参数。
       querystring.parse(str[, sep[, eq[, options]]])
       参数说明:
         str:需要解析的查询字符串。
         sep:多个键值对之间的分隔符,默认为 '&'。
         eq:键名与键值之间的分隔符,默认为 '='。
         options:
                   decodeURIComponent <Function> 当解码查询字符串中百分号编码的字符时使用的函数。默 认为                   querystring.unescape():对给定的 str 上的 URL 百分号编码的字符执行解码。。
maxKeys <number> 指定要解析的键的最大数量。默认为 1000。指定为 0 则移除键数的限制。

二、querystring.stringify()

  要序列化成一个 URL 查询字符串的对象,通过遍历对象的自有属性,从一个给定的 obj 产生一个 URL 查询字符串。

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })

//foo=bar&baz=qux&baz=quux&corge=

  stringify()方法一共可以接收四个参数。

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

  参数说明
    obj <Object> 要序列化成一个 URL 查询字符串的对象。
    sep <string> 用于界定查询字符串中的键值对的子字符串。默认为 '&'。
    eq <string> 用于界定查询字符串中的键与值的子字符串。默认为 '='。
    options:
     encodeURIComponent <Function> 当把对 URL 不安全的字符转换成查询字符串中的百分号编码时使用的函数。默认为 querystring.escape()。

原文地址:https://www.cnblogs.com/leaf930814/p/7189981.html