导入模块
var querystring = require("querystring");
or
const querystring = require("querystring");
该模块提供四个方法
querystring.parse
querystring.stringify
querystring.escape
querystring.unescape
1) querystring.parse(str,separator,eq,options)
parse这个方法是将一个字符串反序列化为一个对象。
参数:
1.str指需要反序列化的字符串;
2.separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&";
3.eq(可省)指用于划分键和值的字符或字符串,默认值为"=";
4.options(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:
1\maxKeys:传入一个number类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;
2\decodeURIComponent:传入一个function,用于对含有%的字符串进行解码,默认值为querystring.unescape。
querystring.parse("name=whitemu&sex=man&sex=women");
/*
return:
{ name: 'whitemu', sex: [ 'man', 'women' ] }
*/
querystring.parse("name=whitemu#sex=man#sex=women","#",null,{maxKeys:2});
/*
return:
{ name: 'whitemu', sex: 'man' }
*/
2)querystring.stringify(obj,separator,eq,options)
stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse相对。
querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] });
/*
return:
'name=whitemu&sex=man&sex=women'
*/
querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] },"*","$");
/*
return:
'name$whitemu*sex$man*sex$women'
*/
3)querystring.escape(str)
escape可使传入的字符串进行编码
querystring.escape("name=慕白");
4)querystring.unescape(str)
unescape方法可将含有%的字符串进行解码
querystring.unescape('name%3D%E6%85%95%E7%99%BD');