属性从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析.querystring模块只提供4个方法,在我看来,这4个方法是相对应的。
这4个方法分别是<代码> querystring.parse 代码>和<代码> querystring.stringify 代码>,<代码> querystring.escape 代码>和<代码> querystring.unescape> 代码。
首先,使用参数模块之前,需要需要进来:
const属性=要求(“属性”);
其次,就可以使用模块下的方法了:
解析这个方法是将一个字符串反序列化为一个对象。
<强>参数:强>
str指需要反序列化的字符串;
分隔符(可省)指用于分割str这个字符串的字符或字符串,默认值为“和”,
eq(可省)指用于划分键和值的字符或字符串,默认值为“=?
选项(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:
1. maxkeys:传入一个号码类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;
2. decodeuricomponent:传入一个函数,用于对含有%的字符串进行解码,默认值为<代码> querystring.unescape> 代码。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent没有定义,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了假设gbkDecodeURIComponent函数已经存在…这句话的意思是“假设这个gbkDecodeURIComponent方法已经存在”。
<>强例子1,querystring.parse 强>
querystring.parse (" name=whitemu&=man&性=女性”);/* 返回: {名称:“whitemu”、性别:[‘人’,‘女性’]} */querystring.parse (" name=whitemu # #=男人性=女人"," # ",null, {maxKeys: 2});/* 返回: {名称:“whitemu”、性别:“男人”} */
函数
把这个方法是将一个对象序列化成一个字符串,与<代码> querystring.parse> 代码相对。
<强>参数:强>
obj指需要序列化的对象
分隔符(可省)用于连接键值对的字符或字符串,默认值为“和”,
eq(可省)用于连接键和值的字符或字符串,默认值为“=?
选项(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:
1. encodeuricomponent:值的类型为函数,可以将一个不安全的url字符串转换成百分比的形式,默认值为<代码> querystring.escape() 代码>。
<>强例子2,querystring.stringify 强>
变量的名称。stringify ({name:“whitemu”性:[‘人’,‘女性’]});/* 返回: 的名字=whitemu&=man&性=女人' */变量的名称。stringify ({name:“whitemu”性:[‘人’,‘女性’]},“*”,“$”);/* 返回: 的名字whitemu *人*美元性女性美元” */
逃脱可使传入的字符串进行编码
<>强例子3 querystring.escape 强>
querystring.escape (" name=慕白”);/* 返回: 的名字% e7 % 3 d % E6 % 85% 95% 99%的双相障碍的 */
unescape方法可将含有%的字符串进行解码
<>强例子4,querystring.unescape 强>
querystring.unescape(“名字% e7 % 3 d % E6 % 85% 95% 99% bd);/* 返回: 的名字=慕白的 */
属性这个模块相对的还是比较简单,仅有4个方法。
, <代码> querystring.stringify 代码>序列化;
2, <代码> querystring.parse> 代码反序列化;
3 <代码> querystring.escape> 代码编码;
, <代码> querystring.unescape> 代码解码;
好了,以上就是这篇文章的全部内容了,当然啦,鄙人对于该模块的研究还是不深,仅仅对该模块的API做了简单的翻译和加上自己的一些理解,若有错误希望能够指正,一起探讨。同时希望本文的内容对大家能有一定的帮助。