querystring模块
querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。
处理get请求参数的时候用的比较多。
把字符串转换成对象 querystring.parse(str[, sep[, eq[, options]]])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| let querystring = require('querystring');
let query = querystring.parse('name=lanpangzhi&age=18'); console.log(query); # 输出{ name: 'lanpangzhi', age: '18' }
let query2 = querystring.parse('name=lanpangzhi@age=18','@'); console.log(query2); # 输出{ name: 'lanpangzhi', age: '18' }
let query3 = querystring.parse('name|lanpangzhi@age|18','@','|'); console.log(query3);
let query = querystring.parse('name|lanpangzhi@age|18@age2|20@age3|21@age4|555','@','|',{ decodeURIComponent: function test(str) { return str+= '1' }, maxKeys: 4 }); console.log(query); # 输出 { name1: 'lanpangzhi1', age1: '181', age21: '201', age31: '211' }
|
把对象转换成字符串 querystring.stringify(obj[, sep[, eq[, options]]])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| let querystring = require('querystring');
let obj = { name: 'lanpangzhi', baz: ['qux', 'quux'], age: '18' }; let str = querystring.stringify(obj); console.log(str); # 输出 name=lanpangzhi&baz=qux&baz=quux&age=18
let obj = { name: 'lanpangzhi', age: '18' }; let str = querystring.stringify(obj,'@'); console.log(str); # 输出 name=lanpangzhi@age=18
let obj = { name: 'lanpangzhi', age: '18' }; let str = querystring.stringify(obj,'@','|'); console.log(str);
|
querystring.stringify 和 querystring.parse 功能正好是对应的, 基本上第四个参数用不到,第二和第三个参数只有在某些特定的场景才会使用,指定切割默写字符,或者输出某些字符。
querystring 这个模块还有两个方法,但是基本上不会用到,更多可以去node中文网或者官网查看。
新年快乐2018
参考
http://nodejs.cn/api/querystring.html