Node核心模块之QueryString
Node.js V6.9.4
querystring模块用于解析和格式化URL查询字符串
* const querystring = require(‘querystring’) *
1.querystring.escape(str)
设置查询字符串组合时编码格式
* 被querystring.stringify()方法使用 *
2.querystring.unescape(str)
* 设置查询字符串解析时编码格式,默认使用JavaScript内置的decodeURIComponent()方法解码,如果失败,在不丢失格式的前提下使用更安全的方法 *
* 被querystring.parse()方法使用 *
3.querystring.parse(str[, sep[, eq[, options]]])
* 将URL查询字符串解析为键值对对象 *
- str: 需要解析的字符串
- sep: 用于分割查询字符串中键值对的字符串,默认为’&’
- eq: 用于界定分割字符串中键和值的对象,默认为’=’
- options:
- decodeURIComponent: 设置解析时的编码格式,默认为querystring.unescape()
- maxKeys: 设置可以解析的最大键值对,默认为1000
let str = 'foo=bar&abc=xyz&abc=123';
querystring.parse(str);
// {
// foo: 'bar',
// abc: ['xyz', '123']
// }
4.querystring.stringify(obj[, sep[, eq[, options]]])
* 讲键值对对象组合成查询字符串 *
- str: 需要解析的字符串
- sep: 用于组合查询字符串中键值对的字符串,默认为’&’
- eq: 用于界定组合字符串中键和值的对象,默认为’=’
- options:
- decodeURIComponent: 设置组合时的编码格式,默认为querystring.escape()
- maxKeys: 设置可以组合的最大键值对,默认为1000
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
// returns 'foo=bar&baz=qux&baz=quux&corge='
querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
// returns 'foo:bar;baz:qux'