node.js入門(mén)教程之querystring模塊的使用方法
querystring模塊
querystring從字面上的意思就是查詢(xún)字符串,一般是對(duì)http請(qǐng)求所帶的數(shù)據(jù)進(jìn)行解析。querystring模塊只提供4個(gè)方法,在我看來(lái),這4個(gè)方法是相對(duì)應(yīng)的。
這4個(gè)方法分別是querystring.parse和querystring.stringify,querystring.escape和querystring.unescape。
首先,使用querystring模塊之前,需要require進(jìn)來(lái):
const querystring = require("querystring");
其次,就可以使用模塊下的方法了:
一、querystring.parse(str,separator,eq,options)
parse這個(gè)方法是將一個(gè)字符串反序列化為一個(gè)對(duì)象。
參數(shù):
str指需要反序列化的字符串;
separator(可?。┲赣糜诜指顂tr這個(gè)字符串的字符或字符串,默認(rèn)值為"&";
eq(可?。┲赣糜趧澐宙I和值的字符或字符串,默認(rèn)值為"=";
options(可?。┰搮?shù)是一個(gè)對(duì)象,里面可設(shè)置maxKeys和decodeURIComponent這兩個(gè)屬性:
1.maxKeys:傳入一個(gè)number類(lèi)型,指定解析鍵值對(duì)的最大值,默認(rèn)值為1000,如果設(shè)置為0時(shí),則取消解析的數(shù)量限制;
2.decodeURIComponent:傳入一個(gè)function,用于對(duì)含有%的字符串進(jìn)行解碼,默認(rèn)值為querystring.unescape。在官方API的例子中,使用gbkDecodeURIComponent這個(gè)方法會(huì)報(bào)錯(cuò),顯示gbkDecodeURIComponent is no defined,這是因?yàn)樵谑褂眠@個(gè)gbkDecodeURIComponent這個(gè)方法之前需要先進(jìn)行定義。在API中也寫(xiě)了Assuming gbkDecodeURIComponent function already exists...這句話(huà)的意思是”假設(shè)這個(gè)gbkDecodeURIComponent方法已經(jīng)存在”。
例子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這個(gè)方法是將一個(gè)對(duì)象序列化成一個(gè)字符串,與querystring.parse相對(duì)。
參數(shù):
obj指需要序列化的對(duì)象
separator(可?。┯糜谶B接鍵值對(duì)的字符或字符串,默認(rèn)值為"&";
eq(可?。┯糜谶B接鍵和值的字符或字符串,默認(rèn)值為"=";
options(可省)傳入一個(gè)對(duì)象,該對(duì)象可設(shè)置encodeURIComponent這個(gè)屬性:
1.encodeURIComponent:值的類(lèi)型為function,可以將一個(gè)不安全的url字符串轉(zhuǎn)換成百分比的形式,默認(rèn)值為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可使傳入的字符串進(jìn)行編碼
例子3,querystring.escape
querystring.escape("name=慕白");
/*
return:
'name%3D%E6%85%95%E7%99%BD'
*/
四、querystring.unescape(str)
unescape方法可將含有%的字符串進(jìn)行解碼
例子4,querystring.unescape
querystring.unescape('name%3D%E6%85%95%E7%99%BD');
/*
return:
'name=慕白'
*/
總結(jié)
querystring這個(gè)模塊相對(duì)的還是比較簡(jiǎn)單,僅有4個(gè)方法。
1、querystring.stringify序列化;
2、querystring.parse反序列化;
3、querystring.escape編碼;
4、querystring.unescape解碼;
好了,以上就是這篇文章的全部?jī)?nèi)容了,當(dāng)然啦,鄙人對(duì)于該模塊的研究還是不深,僅僅對(duì)該模塊的API做了簡(jiǎn)單的翻譯和加上自己的一些理解,若有錯(cuò)誤希望能夠指正,一起探討。同時(shí)希望本文的內(nèi)容對(duì)大家能有一定的幫助。
- Node.js學(xué)習(xí)之查詢(xún)字符串解析querystring詳解
- node.js中的querystring.unescape方法使用說(shuō)明
- node.js中的querystring.escape方法使用說(shuō)明
- node.js中的querystring.stringify方法使用說(shuō)明
- node.js中的querystring.parse方法使用說(shuō)明
- Node.js系列之發(fā)起get/post請(qǐng)求(2)
- 從零開(kāi)始學(xué)習(xí)Node.js系列教程一:http get和post用法分析
- Node.JS獲取GET,POST數(shù)據(jù)之queryString模塊使用方法詳解
相關(guān)文章
Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)功能示例
這篇文章主要介紹了Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)功能,簡(jiǎn)單分析了nodejs連接數(shù)據(jù)庫(kù)的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
快速使用node.js進(jìn)行web開(kāi)發(fā)詳解
本篇文章主要介紹了快速使用node.js進(jìn)行web開(kāi)發(fā)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
node+axios實(shí)現(xiàn)服務(wù)端文件上傳示例
這篇文章主要介紹了node+axios實(shí)現(xiàn)服務(wù)端文件上傳示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
教你從零開(kāi)始在Windows系統(tǒng)上搭建一個(gè)node.js后端服務(wù)項(xiàng)目
這篇文章詳細(xì)介紹了如何在Windows環(huán)境下搭建一個(gè)Node.js項(xiàng)目并使用Express框架,包括安裝Node.js、配置環(huán)境、創(chuàng)建項(xiàng)目、安裝Express、編輯代碼、運(yùn)行項(xiàng)目、集成Nodemon實(shí)現(xiàn)熱部署等步驟2024-11-11
基于豆瓣API+Angular開(kāi)發(fā)的web App
這篇文章主要介紹了基于豆瓣API+Angular開(kāi)發(fā)的web App的方法和示例代碼,效果非常棒,有需要的小伙伴參考下2015-01-01
package-lock.json解決依賴(lài)的版本管理使用詳解
這篇文章主要為大家介紹了package-lock.json解決依賴(lài)的版本管理使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
node.js + socket.io 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)隨機(jī)匹配聊天
這篇文章主要介紹了node.js + socket.io 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)隨機(jī)匹配聊天,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

