node.js入門教程之querystring模塊的使用方法
querystring模塊
querystring從字面上的意思就是查詢字符串,一般是對http請求所帶的數(shù)據(jù)進行解析。querystring模塊只提供4個方法,在我看來,這4個方法是相對應的。
這4個方法分別是querystring.parse
和querystring.stringify
,querystring.escape
和querystring.unescape
。
首先,使用querystring模塊之前,需要require進來:
const querystring = require("querystring");
其次,就可以使用模塊下的方法了:
一、querystring.parse(str,separator,eq,options)
parse這個方法是將一個字符串反序列化為一個對象。
參數(shù):
str指需要反序列化的字符串;
separator(可?。┲赣糜诜指顂tr這個字符串的字符或字符串,默認值為"&";
eq(可省)指用于劃分鍵和值的字符或字符串,默認值為"=";
options(可?。┰搮?shù)是一個對象,里面可設置maxKeys和decodeURIComponent這兩個屬性:
1.maxKeys:傳入一個number類型,指定解析鍵值對的最大值,默認值為1000,如果設置為0時,則取消解析的數(shù)量限制;
2.decodeURIComponent:傳入一個function,用于對含有%的字符串進行解碼,默認值為querystring.unescape
。在官方API的例子中,使用gbkDecodeURIComponent這個方法會報錯,顯示gbkDecodeURIComponent is no defined,這是因為在使用這個gbkDecodeURIComponent這個方法之前需要先進行定義。在API中也寫了Assuming gbkDecodeURIComponent function already exists...這句話的意思是”假設這個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這個方法是將一個對象序列化成一個字符串,與querystring.parse
相對。
參數(shù):
obj指需要序列化的對象
separator(可省)用于連接鍵值對的字符或字符串,默認值為"&";
eq(可省)用于連接鍵和值的字符或字符串,默認值為"=";
options(可省)傳入一個對象,該對象可設置encodeURIComponent這個屬性:
1.encodeURIComponent:值的類型為function,可以將一個不安全的url字符串轉換成百分比的形式,默認值為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可使傳入的字符串進行編碼
例子3,querystring.escape
querystring.escape("name=慕白"); /* return: 'name%3D%E6%85%95%E7%99%BD' */
四、querystring.unescape(str)
unescape方法可將含有%的字符串進行解碼
例子4,querystring.unescape
querystring.unescape('name%3D%E6%85%95%E7%99%BD'); /* return: 'name=慕白' */
總結
querystring這個模塊相對的還是比較簡單,僅有4個方法。
1、querystring.stringify
序列化;
2、querystring.parse
反序列化;
3、querystring.escape
編碼;
4、querystring.unescape
解碼;
好了,以上就是這篇文章的全部內容了,當然啦,鄙人對于該模塊的研究還是不深,僅僅對該模塊的API做了簡單的翻譯和加上自己的一些理解,若有錯誤希望能夠指正,一起探討。同時希望本文的內容對大家能有一定的幫助。
相關文章
node腳手架搭建服務器實現(xiàn)token驗證的方法
這篇文章主要介紹了node腳手架搭建服務器實現(xiàn)token驗證的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01使用nodeJs來安裝less及編譯less文件為css文件的方法
這篇文章主要介紹了使用nodeJs來安裝less及編譯less文件為css文件的方法,在文章末尾給大家補充介紹了通過nodejs將less文件轉為css文件的方法,具體內容詳情大家通過本文學習吧2017-11-11利用Chrome DevTools直接調試Node.js和JavaScript的方法詳解(并行)
現(xiàn)在我們可以用瀏覽器調試node.js了!!!下面這篇文章主要介紹了利用Chrome DevTools直接調試Node.js和JavaScript的方法步驟,文中介紹的很詳細,需要的朋友可以參考學習,下面來一起看看吧。2017-02-02nodejs+websocket實時聊天系統(tǒng)改進版
這篇文章主要介紹了nodejs+websocket實時聊天系統(tǒng)的改進版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05