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(可省)指用于分割str這個(gè)字符串的字符或字符串,默認(rèn)值為"&";
eq(可省)指用于劃分鍵和值的字符或字符串,默認(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...這句話的意思是”假設(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(可省)用于連接鍵和值的字符或字符串,默認(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腳手架搭建服務(wù)器實(shí)現(xiàn)token驗(yàn)證的方法
這篇文章主要介紹了node腳手架搭建服務(wù)器實(shí)現(xiàn)token驗(yàn)證的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01使用nodeJs來(lái)安裝less及編譯less文件為css文件的方法
這篇文章主要介紹了使用nodeJs來(lái)安裝less及編譯less文件為css文件的方法,在文章末尾給大家補(bǔ)充介紹了通過(guò)nodejs將less文件轉(zhuǎn)為css文件的方法,具體內(nèi)容詳情大家通過(guò)本文學(xué)習(xí)吧2017-11-11利用Chrome DevTools直接調(diào)試Node.js和JavaScript的方法詳解(并行)
現(xiàn)在我們可以用瀏覽器調(diào)試node.js了!!!下面這篇文章主要介紹了利用Chrome DevTools直接調(diào)試Node.js和JavaScript的方法步驟,文中介紹的很詳細(xì),需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-02-02NodeJs實(shí)現(xiàn)簡(jiǎn)單的爬蟲(chóng)功能案例分析
爬蟲(chóng),是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)頁(yè)信息的程序或者腳本。這篇文章通過(guò)一個(gè)案例給大家分享NodeJs實(shí)現(xiàn)簡(jiǎn)單的爬蟲(chóng)功能,感興趣的朋友一起看看吧2018-12-12node前端開(kāi)發(fā)模板引擎Jade的入門(mén)
這篇文章主要介紹了node前端開(kāi)發(fā)模板引擎Jade的入門(mén),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05nodejs+websocket實(shí)時(shí)聊天系統(tǒng)改進(jìn)版
這篇文章主要介紹了nodejs+websocket實(shí)時(shí)聊天系統(tǒng)的改進(jìn)版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05詳解阿里Node.js技術(shù)文檔之process模塊學(xué)習(xí)指南
這篇文章主要介紹了詳解阿里Node.js技術(shù)文檔之process模塊學(xué)習(xí)指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01