QueryString模块
querystring模块用于实现URL参数字符串与参数对象的互相转换
方法如下:
- querystring.stringify(obj, [sep], [eq])
- querystring.parse(str, [sep], [eq], [options])
- querystring.escape()
- querystring.unescape()
范例代码
querystring.stringify(obj, [sep], [eq])
对象格式化成参数字符串
var qs = require('querystring');
var obj = {
'name': 'willschang',
'url': 'http://www.jmkbio.com'
};
//没
有指定分隔符和分配符,并且自动编码汉字
var qs_str = qs.stringify(obj);
console.log(qs_str);
//name=willschang&url=http%3A%2F%2Fwww.jmkbio.com
//指定了分隔符和分配符
var qs_str_para = qs.stringify(obj, '$$', '*')
// name*willschang$$url*http%3A%2F%2Fwww.jmkbio.com
querystring.parse(str, [sep], [eq], [options])
参数字符串格式化成对象
sep指定分隔符,eq指定分配符
var qs = require('querystring');
var qs_parse_str = 'name=willschang&url=http%3A%2F%2Fwww.jmkbio.com';
var qs_parse = qs.parse(qs_parse_str);
console.log(qs_parse);
//{ name: 'willschang', url: 'http://www.jmkbio.com' }
querystring.escape()
参数编码
var qs = require('querystring');
var str = 'willschang 学习node.js,坚持!';
var str_es = qs.escape(str);
console.log(str_es);
// 'willschang%20%E5%AD%A6%E4%B9%A0node.js%2C%E5%9D%9A%E6%8C%81%EF%BC%81'
var es = 'willschang%20%E5%AD%A6%E4%B9%A0node.js%2C%E5%9D%9A%E6%8C%81%EF%BC%81';
var es_str = qs.unescape(es);
console.log(es_str);
querystring.unescape()
参数解码
var qs = require('querystring');
var es = 'willschang%20%E5%AD%A6%E4%B9%A0node.js%2C%E5%9D%9A%E6%8C%81%EF%BC%81';
var es_str = qs.unescape(es);
console.log(es_str);
// 'willschang 学习node.js,坚持!'
样例代码图: