node.js学习第六天--Query String

1、字符串转换 Query String模块的基本介绍

Query String模块用于实现URL参数字符串与参数对象之间的互相转换,提供了“stringify”、“parse”等一些实用函数来针对字符串进行处理,通过序列化和反序列化,来更好的应对实际开发中的条件需求,对于逻辑的处理也提供了很好的帮助,下面就让我们一起来了解学习它吧!

2、序列化

stringify函数的基本用法

stringify函数的作用就是序列化对象,也就是说将对象类型转换成一个字符串类型(默认的分割符(“&”)和分配符(“=”)),本节先介绍它的基本用法,在下一节里我们将学习如何替换默认分配符,下面我们就通过以下例子来清楚的认识一下吧!

例1:querystring.stringify(“对象”)

var querystring= require(‘querystring‘);

var result = querystring.stringify({foo:‘bar‘,cool:[‘xux‘, ‘yys‘]});

console.log(result);

运行结果:

foo=bar&cool=xux&cool=yys

看了上面的介绍和示例,相信你对stringify函数也有了初步的了解,赶快趁热打铁,动手练一练!

“get=fire&get=ice&want=go”,用stringify序列化怎么实现呢?

将对象转换成查询字符串,一般使用默认的&符号和=等号来构造字符串。

3、序列化《多参数》

stringify函数的多参数用法

这节我们来学习stringify函数的多参数用法,上节我们知道了对象被序列化为字符串之后默认是通过分割符(“&”)和分配符(“=”)组成的,那可不可以改变呢,这节我们就来了解一下,是否可以自己去定义组合结果,看下面的小例子

例1:querystring.stringify(“对象”,“分隔符”,“分配符”)

var querystring = require(‘querystring‘);

var result = querystring.stringify({foo:‘bar‘,cool:[‘xux‘, ‘yys‘]},‘*‘,‘$‘);

console.log(result);

运行结果:

‘foo$bar*cool$xux*cool$yys‘

看了上面的示例,相信你已经很清楚了,分隔符、分配符是可以根据不同情况而选择给定的,那下面就亲自试试吧!

“spr#[email protected] #[email protected]#win” 练一练!

与2不同的是,我们可以任意改变所构造字符串使用的连接符号。

4、反序列化

parse函数的基本用法

刚刚我们已经学习了stringify函数的作用,接下来就来学习反序列化函数——parse函数,parse函数的作用就是反序列化字符串(默认是由“=”“&”拼接而成),转换得到一个对象类型.如下示例:

例1:querystring.parse(“字符串”)

var querystring = require(‘querystring‘);

var result = querystring.parse(‘foo=bar&cool=xux&cool=yys‘);

console.log(result);

运行结果:

{ foo: ‘bar‘, cool: [‘xux‘, ‘yys‘]}

学习了“stringify函数”,那这次的“parse函数”也是小菜一碟啦!动手试试吧!

stringify、parse函数实现了字符串与对象的互相转换。

5、parse函数的多参数用法

现在我们学习parse函数的扩展用法,和上节stringify函数的多参数用法不同的是,parse函数可以根据用户所自定义的分割符、分配符来反序列化字符串,从而得到相应的对象结果.如下示例:

例1:querystring.parse(“字符串”,“分隔符”,“分配符”)

var querystring = require(‘querystring‘);

var result = querystring.parse(‘[email protected][email protected][email protected]‘,‘@‘,‘$‘);

console.log(result);

运行结果:

{ foo: ‘‘, bar: ‘cool‘, xux: ‘cool‘, yys: ‘‘ }

看了上面的示例,相信你已经有点跃跃欲试了,赶快传个字符串parse下吧!

parse函数的多参数用法,可用于转换自义定字符串,通过反序列化获取对象值。

6、课程小结

很高兴您学完了本节课程,关于querystring的一些常用方法就先讲到这里了,如果您还想了解更多的话,可以参考以下地址:

http://nodejs.cn/api/querystring

http://nodeapi.ucdok.com/#/api/querystring.html

时间: 2024-10-03 10:20:40

node.js学习第六天--Query String的相关文章

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

NODE.JS学习的常见误区及四大名著

NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang/p/4374681.html 收到了很多兄弟的热情回复和激烈讨论,在此深表感谢,有的朋友觉得我写的比较粗犷,没有给出具体的性能分析和对比,在此我想说的是其实好多东西的性能分析,根本就不用我写到博客上,其一是如果我写了,很多人同样会觉得不客观,不中立,其二是网上很多中立的机构,随便搜索一下,对比太多

node.js 学习 00

前言 先写点废话,相中node.js倒是纯属偶然. 在这之前我想要要搭建一个人网站,我感到现有的博客/空间之类只能给予用户有限的控制力.于是在AWS上申请了免费一年的VPS,自己买了一个域名,百度了之后选择了在主机上挂了一个nginx.在这之后我发现直接手写html是一件十分麻烦的事情,于是暂时失去了构建的方向.只是改了改nginx的默认的主页,就先放着了. 在这之后的新学期里,我多一门 数据库原理 的课程,在这之前我通过王垠的博客了解过Nosql的一些概念.数据库原理老师对传统关系性数据库的吹

Node.js 学习一

Node.js是一个可以让javascript运行在服务器端的平台.node.js是一个为实时web应用开发而诞生的平台,它考虑到了实时响应/超大规模数据要求下架构的可扩展性.它采用了单线程,异步石IO,事件驱动式的设计模式. Node.js有着强大而灵活的包管理器(node package manager)npm node.js 架构设计:1,异步式I/O,事件驱动 2,V8引擎作为javascript引擎 3,高效的libev事件驱动库 4,高效的libeio异步I/O库 CommonJS:

node.js学习一——什么是node.js

定义:node.js是运行在服务器端的运用了谷歌v8引擎的javascript运行平台 特点:1. 异步式I/O(非阻塞式I/O) 2. 事件驱动 什么是异步式I/O(非阻塞式I/O)? 要了解什么是异步式I/O(非阻塞式I/O),必须要先了解下什么是I/O,什么阻塞, 什么是同步式I/O(阻塞式I/O). I/O的定义: 线程在执行磁盘读写或者是网络通信时统称为I/O操作. 阻塞定义: 在I/O的过程中由于要耗费的时间比较长,操作系统会剥夺这个线程对CPU的控制权,让线程暂停执行.同时把资源交

系列文章--Node.js学习笔记系列

Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp

Node.js学习(1):Node.js 和Socket.IO 实现chat

使用 Node.js 和 Socket.IO 构建简单的聊天程序 在node.js根目录下创建文件夹chat,里面添加两个文件:app.js和index.html app.js var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(200, { 'Cont

Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)

笔记来自<Node入门>@2011 Manuel Kiessling JavaScript与Node.js Node.js事实上既是一个运行时环境,同时又是一个库. 使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器. 一个基础的HTTP服务器 server.js:一个可以工作的HTTP服务器 var http = require("http"); http.createServer(function(request, response) { r

Node.Js学习01: Module System 以及一些常用Node Module

Node.Js学习就按照这本书的流程来. 在第7章结束与第10章结束时分别自己出一个小项目练练手.Node.Js的入门学习计划是这样. 目录:, QQ:1045642972 欢迎来索书以及讨论Node.Js. Node.Js Demo Node.Js官网提供了一个最基本的Demo Code: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type':