querystring模块
querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。
处理get请求参数的时候用的比较多。
把字符串转换成对象 querystring.parse(str[, sep[, eq[, options]]])
| 12
 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]]])
| 12
 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