首页 > web前端 > js教程 > 正文

node.js如何使用querystring模块实例代码详解

伊谢尔伦
发布: 2017-07-24 11:11:34
原创
1460人浏览过

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指需要序列化的对象

腾讯云AI代码助手
腾讯云AI代码助手

基于混元代码大模型的AI辅助编码工具

腾讯云AI代码助手 98
查看详情 腾讯云AI代码助手

   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解码;

以上就是node.js如何使用querystring模块实例代码详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号