querystring
发布日期:2021-06-24 20:14:17 浏览次数:3 分类:技术文章

本文共 2074 字,大约阅读时间需要 6 分钟。

nodejs之querystring模块 这里主要记下querystring模块的使用方法。

querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析。querystring模块只提供4个方法,在我看来,这4个方法是相对应的。

这4个方法分别是querystring.parse和querystring.stringify,querystring.escape和querystring.unescape。

首先,使用querystring模块之前,需要require进来:

1 const querystring = require("querystring"); 其次,就可以使用模块下的方法了:

1 querystring.parse(str,separator,eq,options)

parse这个方法是将一个字符串反序列化为一个对象。

参数:str指需要反序列化的字符串;

   separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&";

   eq(可省)指用于划分键和值的字符或字符串,默认值为"=";

   options(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:

      maxKeys:传入一个number类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;

      decodeURIComponent:传入一个function,用于对含有%的字符串进行解码,默认值为querystring.unescape。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。

例子1,querystring.parse

复制代码 1 querystring.parse("name=whitemu&sex=man&sex=women"); 2 /* 3 return: 4 { name: 'whitemu', sex: [ 'man', 'women' ] } 5 / 6 querystring.parse("name=whitemu#sex=man#sex=women","#",null,{maxKeys:2}); 7 / 8 return: 9 { name: 'whitemu', sex: 'man' } 10 */ 复制代码 2 querystring.stringify(obj,separator,eq,options)

stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse相对。

参数:obj指需要序列化的对象

   separator(可省)用于连接键值对的字符或字符串,默认值为"&";

   eq(可省)用于连接键和值的字符或字符串,默认值为"=";

   options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:

      encodeURIComponent:值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为querystring.escape()。

例子2,querystring.stringify

复制代码 querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] }); /* return: 'name=whitemu&sex=man&sex=women' / querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] },"",""); /* return: 'namewhitemu*sexman*sexwomen' */ 复制代码 3 querystring.escape(str)

escape可使传入的字符串进行编码

例子3,querystring.escape

querystring.escape("name=慕白"); /* return: 'name%3D%E6%85%95%E7%99%BD' */ 4 querystring.unescape(str)

unescape方法可将含有%的字符串进行解码

例子4,querystring.unescape

querystring.unescape('name%3D%E6%85%95%E7%99%BD'); /* return: 'name=慕白' */

转载地址:https://blog.csdn.net/weixin_34342578/article/details/91382147 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:利用matlab作数据分析(最小二乘法拟合)
下一篇:关于redis的几件小事(九)redis的并发竞争问题

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月04日 18时32分28秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章