源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

node.js入门教程之querystring模块的使用方法

  • 时间:2020-09-04 09:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js入门教程之querystring模块的使用方法
[b]querystring模块[/b] querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析。querystring模块只提供4个方法,在我看来,这4个方法是相对应的。 这4个方法分别是[code]querystring.parse[/code]和[code]querystring.stringify[/code],[code]querystring.escape[/code]和[code]querystring.unescape[/code]。 首先,使用querystring模块之前,需要require进来:
const querystring = require("querystring");
其次,就可以使用模块下的方法了: [b]一、querystring.parse(str,separator,eq,options)[/b] parse这个方法是将一个字符串反序列化为一个对象。 [b]参数:[/b]    str指需要反序列化的字符串;    separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&";    eq(可省)指用于划分键和值的字符或字符串,默认值为"=";    options(可省)该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性:       1.maxKeys:传入一个number类型,指定解析键值对的最大值,默认值为1000,如果设置为0时,则取消解析的数量限制;       2.decodeURIComponent:传入一个function,用于对含有%的字符串进行解码,默认值为[code]querystring.unescape[/code]。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。 [b]例子1,querystring.parse[/b]
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' }
*/
[b]二、querystring.stringify(obj,separator,eq,options)[/b] stringify这个方法是将一个对象序列化成一个字符串,与[code]querystring.parse[/code]相对。 [b]参数:[/b]    obj指需要序列化的对象    separator(可省)用于连接键值对的字符或字符串,默认值为"&";    eq(可省)用于连接键和值的字符或字符串,默认值为"=";    options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:       1.encodeURIComponent:值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为[code]querystring.escape()[/code] 。 [b]例子2,querystring.stringify[/b]
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'
*/
[b]三、querystring.escape(str)[/b] escape可使传入的字符串进行编码 [b]例子3,querystring.escape[/b]
querystring.escape("name=慕白");
/*
return:
'name%3D%E6%85%95%E7%99%BD'
*/
[b]四、querystring.unescape(str)[/b] unescape方法可将含有%的字符串进行解码 [b]例子4,querystring.unescape[/b]
querystring.unescape('name%3D%E6%85%95%E7%99%BD');
/*
return:
'name=慕白'
*/
[b]总结[/b] querystring这个模块相对的还是比较简单,仅有4个方法。   1、[code]querystring.stringify[/code]序列化;   2、[code]querystring.parse[/code]反序列化;   3、[code]querystring.escape[/code]编码;   4、[code]querystring.unescape[/code]解码; 好了,以上就是这篇文章的全部内容了,当然啦,鄙人对于该模块的研究还是不深,仅仅对该模块的API做了简单的翻译和加上自己的一些理解,若有错误希望能够指正,一起探讨。同时希望本文的内容对大家能有一定的帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部