node.js的querystring模块
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模块的更多相关文章
- Node.js之querystring模块
querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析.querystring模块只提供4个方法,在我看来,这4个方法是相对应的. 这4个方法分别是querystr ...
- 利用Node.js的Net模块实现一个命令行多人聊天室
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...
- Node.js的Formidable模块的使用
今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1) 创建Formidable.IncomingForm对象 var form = new formidab ...
- Node.js入门:模块机制
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...
- Node.js的net模块
net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简 ...
- node.js中express模块创建服务器和http模块客户端发请求
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- node.js中net模块创建服务器和客户端(TCP)
node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...
- 第5月第10天 node.js的request模块
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html
随机推荐
- log4net的相关使用笔记
1, XmlConfigurator 创建添加一个Tracer project,引用nuget上最新的log4net 在Tracer里新增一个AppLog类: public static class ...
- Sencha Touch 2.1学习图表Chart概述
Extjs.chart提供了可视化展现数据的能力,每个图表可以绑定到数据模型Ext.data.Store上, 并随着数据的变换可以自动的更新图表 一个图表对象包括图标风格.坐标(axes).序列(se ...
- [bzoj2648/2716]SJY摆棋子_KD-Tree
SJY摆旗子 bzoj-2648 题目大意:平面上有n个黑子.有m个操作,可以下一颗白子,查询与曼哈顿距离下最近黑子之间的曼哈顿距离,或者下一颗黑子. 注释:$1\le n,m\le 5\cdot 1 ...
- natural join 以及 v$statname , v$sessstat
oracle natural join是一个比较方便的用法.如果两个表的某些字段名称相同,类型相同,natural join就会把他们做等值连接.比如下面我们知道这两个视图的结构如下: SQL> ...
- 切换到android studio遇到的svn问题
眼下的android studio 2.0(包括preview版)都已经把git.svn,cvs 等工具集成进来了.所以,我们仅仅须要依据代码server选择使用就可以. 这里以开源中国上的git私有 ...
- IntelliJ IDEA 16 EAP新特性一览
IntelliJ IDEA 16 EAP新特性一览 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs IntelliJ I ...
- 权限问题导致无法删除ftp文件
首先吐槽一下,使用新版编辑器,发了两遍愣是time out,果断放弃 这个文章也是一件小事,大致说一下: 有一个java操作ftp文件的程序,运行删除时,总是返回false,也没有报错.開始考虑是没有 ...
- DirectX11 学习笔记6 - 使用D3DXMATH数学库的一个样例
这个样例是在之前的样例基础上 .把之前d3dx10math数学库换成了最新的d3dxmath.长处就不说了.先上效果图 所有代码.以及效果文件 文件结构 所有代码: 依照上图的文件顺序 #pragma ...
- hdu 1010 Tempter of the Bone (奇偶性剪枝)
题意:有一副二维地图'S'为起点,'D'为终点,'.'是可以行走的,'X'是不能行走的.问能否只走T步从S走到D? 题解:最容易想到的就是DFS暴力搜索,,但是会超时...=_=... 所以,,要有其 ...
- SpringMVC中的 --- 异常处理
系统异常处理器SimpleMappingExceptionResolver 处理器方法执行过程中,可能会发生异常,不想看到错误黄页,想看到一个友好的错误提示页. 自定义异常处理器 使用异常处理注解