和参数相关的帮助类,原生自带,直接 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);

[Node.js] querystring类-LMLPHP

param=querystring.stringify(obj,'|','*');
//指定了分隔符和分配符
console.log(param);

[Node.js] querystring类-LMLPHP

二、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);

//打印出来格式化后的数据类型 和 内容.

[Node.js] querystring类-LMLPHP

可以看到格式化以后是object类型,并且汉字自动解码显示出来.

当覆盖分割和分配符,如下:

param=querystring.stringify(obj,'|','*');
console.log(param);

[Node.js] querystring类-LMLPHP

然后解析:

newobj=querystring.parse(param,'|','*');
console.log(newobj);

[Node.js] querystring类-LMLPHP

 

三、querystring.escape

参数编码

var param="梵高&高更"
console.log(querystring.escape(param));

[Node.js] querystring类-LMLPHP

四、querystring.unescape

参数解码

var param="梵高&高更"

console.log(querystring.unescape(querystring.escape(param)));

直接对上面编码后的参数字符串进行解码

[Node.js] querystring类-LMLPHP

 
04-13 15:25