node.js的querystring模塊
querystring主要是用於對字符串進行操作和解析。共有四個方法:querystring.parse,querystring.stringify,querystring.escape,querystring.unescape。
使用querystring前先requery進來:const querystring = require("querystring");
然後可以使用上述的四個方法:
1.querystring.parse方法:字符串反序列化為一個對象
querystring.parse(str,separator,eq,options)
1)str是需要被反序列化的字符串;
2)separator是分割字符(默認是‘&’),可以省略;
3)eq是用於劃分鍵和值的符號(比如:name=sophiehui,可以省略,默認是‘=’);
4)options用來設置maxKeys和decodeURIComponent這兩個屬性,maxKeys用來設置最多可以解析多少對鍵值對,傳一個number值,默認為1000,如果傳入一個0,則不限制鍵值對的數量;decodeURIComponent用於對含有%的字符串進行解碼,默認值是querystring.unescape。
例如:querystring.parse("name=sophiehui&interest="music"&interest="reading","&","=",{maxKeys:2});返回值為:{ name: ‘whitemu‘, sex: ‘man‘ }
2.querystring.stringify:序列化一個對象為字符串
querystring.stringify(obj,separator,eq,options)
1)obj:需要被序列化的對象;
2)separator是分割字符(默認是‘&’),可以省略;
3)eq是用於劃分鍵和值的符號(比如:name=sophiehui,可以省略,默認是‘=’);
4)options傳入一個對象,用於設置encodeURIComponent屬性,encodeURIComponent是一個functong,將一個不安全的url設置為百分比的形式(默認值為querystring.escape())
例如:querystring.stringify({name: ‘sophiehui‘, interest: [ ‘music‘, ‘reading‘ ] },"&","=");返回值為:‘name&sophiehui=interest&music=interest&reading‘
3.querystring.escape:對傳入的%字符串進行編碼
querystring.escape(str)
querystring.escape("name=2,6");返回‘name%3D2%3C6‘
3.querystring.unescape:對傳入的%字符串進行解碼
querystring.unescape(str)
querystring.unescape("name%3D2%3C6");返回"name=2,6"
node.js的querystring模塊