queryString模块
查询字符串主要由两个方法和内置格式化方法组成,一个是将对象转换为字符串,一个则是相反,将字符串转换为对象.
querystring.stringify(obj, [sep], [eq])
将JSON对象格式化为查询字符串格式的字符串,默认的分隔符为:“&”和“=”。
var querystring = require('querystring');
var result = querystring.stringify({ aaa: 'bbbb', haha: ['12', '123'], ccc: '' });
console.log(result);
var querystring = require('querystring');
var result = querystring.stringify({ aaa: 'bbbb', haha: ['12', '123'], ccc: '' },";",":");
console.log(result);
querystring.parse(str, [sep], [eq], [options])
根据“&”和“=”将字符串进行分割,反序列化为JSON对象,而options包含的maxKeys默认设置为1000,如果将其设置为0则表示没这个限制。
var querystring = require('querystring');
var result = querystring.parse("aaa=bbbb&haha=12&haha=123&ccc=");
console.log(result);
querystring.escape
,querystring.unescape
这两个内置方法,分别在上述两个方法的内置使用,如果有需要分别格式化和解码URL字符串
QueryString模块和Url模块之间的关系
url.parse(string).query
|
url.parse(string).pathname |
| |
| |
------ -------------------
http://localhost:8888/start?foo=bar&hello=world
--- -----
| |
| |
querystring.parse(queryString)["foo"] |
|
querystring.parse(queryString)["hello"]