querystring模块

querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析。querystring模块只提供4个方法,在我看来,这4个方法是相对应的。
这4个方法分别是querystring.parse和querystring.stringify,querystring.escape和querystring.unescape。
首先,使用querystring模块之前,需要require进来:
const querystring = require("querystring");
其次,就可以使用模块下的方法了:
一、querystring.parse(str,separator,eq,options)
parse这个方法是将一个字符串反序列化为一个对象。
参数:
str指需要反序列化的字符串;
separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&";
eq(可省)指用于划分键和值的字符或字符串,默认值为"=";
options(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:
1.maxKeys:传入一个number类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;
2.decodeURIComponent:传入一个function,用于对含有%的字符串进行解码,默认值为querystring.unescape。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。
例子1,querystring.parse
querystring.parse("name=whitemu&sex=man&sex=women");
/*
return:
{ name: 'whitemu', sex: [ 'man', 'women' ] }
*/
querystring.parse("name=whitemu#sex=man#sex=women","#",null,{maxKeys:2});
/*
return:
{ name: 'whitemu', sex: 'man' }
*/
二、querystring.stringify(obj,separator,eq,options)
stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse相对。
参数:
obj指需要序列化的对象
separator(可省)用于连接键值对的字符或字符串,默认值为"&";
eq(可省)用于连接键和值的字符或字符串,默认值为"=";
options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:
1.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:
'name$whitemu*sex$man*sex$women'
*/
三、querystring.escape(str)
escape可使传入的字符串进行编码
例子3,querystring.escape
querystring.escape("name=慕白");
/*
return:
'name%3D%E6%85%95%E7%99%BD'
*/
四、querystring.unescape(str)
unescape方法可将含有%的字符串进行解码
例子4,querystring.unescape
querystring.unescape('name%3D%E6%85%95%E7%99%BD');
/*
return:
'name=慕白'
*/
总结
querystring这个模块相对的还是比较简单,仅有4个方法。
1、querystring.stringify序列化;
2、querystring.parse反序列化;
3、querystring.escape编码;
4、querystring.unescape解码;
好了,以上就是这篇文章的全部内容了,当然啦,鄙人对于该模块的研究还是不深,仅仅对该模块的API做了简单的翻译和加上自己的一些理解,若有错误希望能够指正,一起探讨。同时希望本文的内容对大家能有一定的帮助。
# querystring
# nodejs
# node
# querystring模块
# 模块
# Node.js学习之查询字符串解析querystring详解
# node.js中的querystring.unescape方法使用说明
# node.js中的querystring.escape方法使用说明
# node.js中的querystring.stringify方法使用说明
# node.js中的querystring.parse方法使用说明
# Node.js系列之发起get/post请求(2)
# 从零开始学习Node.js系列教程一:http get和post用法分析
# Node.JS获取GET
# POST数据之queryString模块使用方法详解
# 值为
# 序列化
# 键值
# 自己的
# 是一个
# 好了
# 有一定
# 这句话
# 这两个
# 写了
# 若有
# 这篇文章
# 中也
# 报错
# 可将
# 可使
# 设置为
# 只提供
# 这是因为
# 转换成
相关文章:
建站之星CMS建站配置指南:模板选择与SEO优化技巧
魔毅自助建站系统:模板定制与SEO优化一键生成指南
如何彻底删除建站之星生成的Banner?
PHP 500报错的快速解决方法
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何获取开源自助建站系统免费下载链接?
如何在阿里云完成域名注册与建站?
如何在IIS中新建站点并解决端口绑定冲突?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
平台云上自主建站:模板化设计与智能工具打造高效网站
如何选择高效响应式自助建站源码系统?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何制作算命网站,怎么注册算命网站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
建站主机解析:虚拟主机配置与服务器选择指南
太平洋网站制作公司,网络用语太平洋是什么意思?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何快速生成ASP一键建站模板并优化安全性?
建站之星代理费用多少?最新价格详情介绍
,石家庄四十八中学官网?
python的本地网站制作,如何创建本地站点?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何解决ASP生成WAP建站中文乱码问题?
高端网站建设与定制开发一站式解决方案 中企动力
制作网站的软件免费下载,免费制作app哪个平台好?
网站制作网站,深圳做网站哪家比较好?
建站之星安装步骤有哪些常见问题?
制作网页的网站有哪些,电脑上怎么做网页?
网页设计与网站制作内容,怎样注册网站?
装修招标网站设计制作流程,装修招标流程?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
建站之星2.7模板快速切换与批量管理功能操作指南
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
重庆市网站制作公司,重庆招聘网站哪个好?
香港服务器选型指南:免备案配置与高效建站方案解析
西安大型网站制作公司,西安招聘网站最好的是哪个?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何在阿里云购买域名并搭建网站?
网站设计制作企业有哪些,抖音官网主页怎么设置?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何选择香港主机高效搭建外贸独立站?
建站主机SSH密钥生成步骤及常见问题解答?
制作网站的模板软件,网站怎么建设?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
建站之星云端配置指南:模板选择与SEO优化一键生成
建站之星安装后如何自定义网站颜色与字体?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。