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. 从零搭建流媒体服务器+obs推流直播

    背景介绍 本文使用的流媒体服务器的搭建是基于rtmp(Real Time Message Protocol)协议的,rtmp协议是应用层的协议,要依靠底层的传输层协议,比如tcp协议来保证信息传输的可 ...

  2. [bzoj3126][USACO2013]Photo_动态规划_单调队列

    Photo bzoj-3126 题目大意:给你一个n长度的数轴和m个区间,每个区间里有且仅有一个点,问最多能有多少个点. 注释:$1\le n \le 2\cdot 10^5$,$1\le m\le1 ...

  3. SSM(spring mvc+spring+mybatis)学习路径——2-1、spring MVC入门

    目录 2-1 Spring MVC起步 一.回顾Servlet 二.SpringMVC简介 三.搭建SpringMVC第一个案例 四.简单流程及配置 五.使用注解开发Controller 六.参数绑定 ...

  4. Intellij Idea:创建带签名的APK

    步骤如下: 1. 选择菜单Build -> Generate Signed APK… 2. 创建或选择已存在的Key Store(选择已存在的Key Store的话直接跳到第5步) 3. 输入K ...

  5. saprk里面的action - aggregate

    上一篇讲到了spark里面的action函数: Action列表: reduce collect count first take takeSample takeOrdered saveAsTextF ...

  6. HDU 4540

    简单得不能再简单的DP了. #include<iostream> const int inf=1<<30; using namespace std; int map[22][2 ...

  7. 【2014秋季版】【辛星php】【0】清晰的认识一下PHP语言

    *********************PHP情结***************** 1.假设您和我经历非常相似,也可能会有这种PHP情结,为什么呢.由于我最先学习的是Java.然后学习了C++,开 ...

  8. [深入学习C#]输入输出安全性——可变类型形參列表的变化安全性

    可变类型形參列表(variant-type-parameter-lists) 可变类型形參列表(variant-type-parameter-lists )仅仅能在接口和托付类型上出现.它与普通的ty ...

  9. tflearn mnist 使用MLP 全连接网络一般都会加dropout哇

    # -*- coding: utf-8 -*- """ Deep Neural Network for MNIST dataset classification task ...

  10. B2321 [BeiJing2011集训]星器 数学&&物理

    这个题貌似特别奇怪,根本什么算法都想不出来,然而...看完题解之后,竟然用了能量守恒?惊了! 这里有一个题解: https://blog.csdn.net/Mima_Reincarnation/art ...