和参数相关的帮助类,原生自带,直接 require('querystring') 即可使用。
此类一共包括4个方法:
- querystring.stringify(obj, [sep], [eq])
- querystring.parse(str, [sep], [eq], [options])
- querystring.escape
- querystring.unescape
- [内参数]表示可选参数,
- [sep]指分隔符 默认& ,
- [eq]指分配符 默认=
一、querystring.stringify(obj,[sep],[eq])
对象格式化成参数字符串(中文编码),obj就是要格式化的对象,必选参数. var obj={name:"fangao",url:"http://fangao.com"};
var param= querystring.stringify(obj);
//没有指定分隔符和分配符,并且自动编码汉字
console.log(param);
param=querystring.stringify(obj,'|','*');
//指定了分隔符和分配符
console.log(param);
二、querystring.parse(str, [sep], [eq], [options])
参数字符串格式化成对象
var obj={name:"fangao",url:"http://fangao.com"}; var param= querystring.stringify(obj);
我们把param 字符串格式化成对象,使用默认分隔分配符
var newobj=querystring.parse(param);
console.log(typeof newobj,newobj);
//打印出来格式化后的数据类型 和 内容.
可以看到格式化以后是object类型,并且汉字自动解码显示出来.
当覆盖分割和分配符,如下:
param=querystring.stringify(obj,'|','*');
console.log(param);
然后解析:
newobj=querystring.parse(param,'|','*');
console.log(newobj);
三、querystring.escape
参数编码
var param="梵高&高更"
console.log(querystring.escape(param));
四、querystring.unescape
参数解码
var param="梵高&高更" console.log(querystring.unescape(querystring.escape(param)));
直接对上面编码后的参数字符串进行解码