首頁  >  文章  >  web前端  >  node.js如何使用querystring模組實例程式碼詳解

node.js如何使用querystring模組實例程式碼詳解

伊谢尔伦
伊谢尔伦原創
2017-07-24 11:11:341406瀏覽

querystring從字面上的意思就是查詢字串,一般是對http請求所帶的資料進行解析。 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這個方法是將一個字串反序列化為一個物件。

參數:

   str指需要反序列化的字串;

   separator(可省)指用來分割str這個字串的字元或字串,預設值為"&";

   eq(可省)指用於分割鍵和值的字元或字串,預設值為"=";

##   options (可省)此參數是一個對象,裡面可設定maxKeys和decodeURIComponent這兩個屬性:

      1.maxKeys:傳入一個number類型,指定解析鍵值對的最大值,預設值為1000 ,若設定為0時,則取消解析的數量限制;

      2.decodeURIComponent:傳入一個function,用於對含有%的字串進行解碼,預設值為

querystring.unescape。在官方API的例子中,使用gbkDecodeURIComponent這個方法會報錯,顯示gbkDecodeURIComponent is no defined,這是因為在使用這個gbkDecodeURIComponent這個方法之前需要先定義。在API中也寫了Assuming gbkDecodeURIComponent function already exists...這句話的意思是」假設這個gbkDecodeURIComponent方法已經存在」。

範例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相對。

參數:

   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

解碼;

以上是node.js如何使用querystring模組實例程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn