querystring主要是用于对字符串进行操作和解析。共有四个方法:querystring.parse,querystring.stringify,querystring.escape,querystring.unescape。

使用querystring前先requery进来:const querystring = require("querystring");

然后可以使用上述的四个方法:

1.querystring.parse方法:字符串反序列化为一个对象

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

1)str是需要被反序列化的字符串;

2)separator是分割字符(默认是‘&’),可以省略;

3)eq是用于划分键和值的符号(比如:name=sophiehui,可以省略,默认是‘=’);

4)options用来设置maxKeys和decodeURIComponent这两个属性,maxKeys用来设置最多可以解析多少对键值对,传一个number值,默认为1000,如果传入一个0,则不限制键值对的数量;decodeURIComponent用于对含有%的字符串进行解码,默认值是querystring.unescape。

例如:querystring.parse("name=sophiehui&interest="music"&interest="reading","&","=",{maxKeys:2});返回值为:{ name: 'whitemu', sex: 'man' }

2.querystring.stringify:序列化一个对象为字符串

querystring.stringify(obj,separator,eq,options)

1)obj:需要被序列化的对象;

2)separator是分割字符(默认是‘&’),可以省略;

3)eq是用于划分键和值的符号(比如:name=sophiehui,可以省略,默认是‘=’);

4)options传入一个对象,用于设置encodeURIComponent属性,encodeURIComponent是一个functong,将一个不安全的url设置为百分比的形式(默认值为querystring.escape())

例如:querystring.stringify({name: 'sophiehui', interest: [ 'music', 'reading' ] },"&","=");返回值为:'name&sophiehui=interest&music=interest&reading'

3.querystring.escape:对传入的%字符串进行编码

querystring.escape(str)

querystring.escape("name=2,6");返回'name%3D2%3C6'

4.querystring.unescape:对传入的%字符串进行解码

querystring.unescape(str)

querystring.unescape("name%3D2%3C6");返回"name=2,6"

node.js的querystring模块的更多相关文章

  1. Node.js之querystring模块

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

  2. 利用Node.js的Net模块实现一个命令行多人聊天室

    1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...

  3. Node.js的Formidable模块的使用

    今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1)     创建Formidable.IncomingForm对象 var form = new formidab ...

  4. Node.js入门:模块机制

    CommonJS规范      早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...

  5. Node.js的net模块

    net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简 ...

  6. node.js中express模块创建服务器和http模块客户端发请求

    首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...

  7. node.js中ws模块创建服务端和客户端,网页WebSocket客户端

    首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...

  8. node.js中net模块创建服务器和客户端(TCP)

    node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...

  9. 第5月第10天 node.js的request模块

    1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html

随机推荐

  1. 清北学堂模拟赛d1t4 一道图论好题(graph)

    题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,不仅有边权还有点权. LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G ...

  2. 网络流入门 Drainage Ditches

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) ...

  3. 洛谷—— P1379 八数码难题

    https://daniu.luogu.org/problem/show?pid=1379 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示 ...

  4. [ javascript ] getElementsByClassName与className和getAttribute!

    对于javascript中的getElementsByClassName 在IE 6/7/8 不支持问题. 那么须要模拟出getElementsByClassName  须要採用className属性 ...

  5. Unity图片变灰的方式

    http://www.tuicool.com/articles/Vruuqme NGUI中的Button差点儿是最经常使用到的控件之中的一个,而且能够组合各种组件(比方UIButtonColor,UI ...

  6. maven install:install出现的错误提示

    maven install:install出现的错误提示 [INFO] --- maven-install-plugin:2.4:install (default-cli) @ maven028 -- ...

  7. 关东升的《从零開始学Swift》即将出版

    大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在&l ...

  8. Yum重装走过的坑

    今天因为用yum方式安装mongo遇到报错,从而我选择卸载yum并重新安装. 我先选择了用rpm方式进行重装,从163的packages列表里面找到64位redhat6.5可以用的三个rpm包,安装过 ...

  9. vbs use

    VBScript中SendKeys的妙用 标签: vbscriptbasicmicrosoftinsertdeletestring 2011-05-26 15:29 1830人阅读 评论(0) 收藏  ...

  10. Android 线程 Looper.prepare()、Looper.loop() 使用

    优化项目过程中发现了一个非常Low的问题,整理一下.备忘: 说问题之前先看下HandlerThread的定义 一个封装了looper的线程:   Looper用于封装了android线程中的消息循环. ...