querystring模块
@H_404_3@querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析。querystring模块只提供4个方法,在我看来,这4个方法是相对应的。@H_404_3@
这4个方法分别是querystring.parse
和querystring.stringify
,querystring.escape
和querystring.unescape
。@H_404_3@
首先,使用querystring模块之前,需要require进来:@H_404_3@
一、querystring.parse(str,separator,eq,options)
@H_404_3@parse这个方法是将一个字符串反序列化为一个对象。@H_404_3@
参数:
@H_404_3@str指需要反序列化的字符串;@H_404_3@
separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&";@H_404_3@
eq(可省)指用于划分键和值的字符或字符串,默认值为"=";@H_404_3@
options(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:@H_404_3@
1.maxKeys:传入一个number类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;@H_404_3@
2.decodeURIComponent:传入一个function,用于对含有%的字符串进行解码,默认值为querystring.unescape
。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。@H_404_3@
例子1,querystring.parse
@H_404_3@二、querystring.stringify(obj,options)
@H_404_3@stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse
相对。@H_404_3@
参数:
@H_404_3@obj指需要序列化的对象@H_404_3@
separator(可省)用于连接键值对的字符或字符串,默认值为"&";@H_404_3@
eq(可省)用于连接键和值的字符或字符串,默认值为"=";@H_404_3@
options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:@H_404_3@
1.encodeURIComponent:值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为querystring.escape()
。@H_404_3@
例子2,querystring.stringify
@H_404_3@三、querystring.escape(str)
@H_404_3@escape可使传入的字符串进行编码@H_404_3@
例子3,querystring.escape
@H_404_3@四、querystring.unescape(str)
@H_404_3@unescape方法可将含有%的字符串进行解码@H_404_3@
例子4,querystring.unescape
@H_404_3@总结
@H_404_3@querystring这个模块相对的还是比较简单,仅有4个方法。@H_404_3@
1、querystring.stringify
序列化;@H_404_3@
2、querystring.parse
反序列化;@H_404_3@
3、querystring.escape
编码;@H_404_3@
4、querystring.unescape
解码;@H_404_3@
好了,以上就是这篇文章的全部内容了,当然啦,鄙人对于该模块的研究还是不深,仅仅对该模块的API做了简单的翻译和加上自己的一些理解,若有错误希望能够指正,一起探讨。同时希望本文的内容对大家能有一定的帮助。 @H_404_3@