querystring模塊提供了一些實(shí)用工具,主要是用來(lái)解析和格式化查詢字符串。
查詢字符串
在一個(gè)完整的URL字符串里玛追,從“旬渠?”字符之后(不包括“俱萍?”字符)到 “#” 字符之前(如果存在“#”字符)或者到該URL字符串結(jié)束的這一部分稱為查詢字符串。
因?yàn)樯婕暗経RL告丢,所以querystring模塊經(jīng)常搭配url模塊一起使用枪蘑。
url可以參考:http://www.reibang.com/p/d94185e25d8f
querystring是node的內(nèi)置模塊,所以可以直接引進(jìn)來(lái)使用
const qs = require('querystring');
方法:
1.querystring.parse(str [,seq [,eq [,options]]])
querystring.parse()主要用來(lái)解析查詢字符串岖免,返回一個(gè)對(duì)象
str? ? ? ? ? 要解析的URL查詢字符串
seq? ? ? ? 用來(lái)界定查詢字符串中的鍵值對(duì)的子字符串 默認(rèn)為“&”
eq? ? ? ? 用來(lái)界定查詢字符串中的鍵與值得子字符串 默認(rèn)為“=”
options<object> ?maxKeys 制定要解析的鍵的最大數(shù)量默認(rèn)1000制定為0則移除該限制 ??
小栗子:
?querystring.parse("user=abc&pass=123456&sex=male");
? ? {user:'abc',pass:'123456',sex:'male'}
//遇到復(fù)選框時(shí)會(huì)轉(zhuǎn)換成一個(gè)數(shù)組> querystring.parse("user=abc&pass=123456&interests=fishing&interests=reading");?
?{ ? ?
? ? ? user:'abc',
? ? ? ?pass:'123456',
? ? ? ?interests:['fishing','reading']
?}
//使用“=”劃分鍵值對(duì)>?
querystring.parse("user=abc&pass=123456&sex=male","=");?
? {user:'','abc&pass':'','123456&sex':'',male:''}
? //使用“:”劃分鍵和值
querystring.parse("user=abc&pass=123456&sex=male","&",":");
{'user=abc':'','pass=123456':'','sex=male':''}
//設(shè)定解析的鍵數(shù)量為
1> querystring.parse("user=abc&pass=123456&sex=male","&","=",{maxKeys:1});
{user:'abc'}
2.querystring.stringify(obj [,sep [,eq]])
querystring.stringify()方法作用是將對(duì)象轉(zhuǎn)換成查詢字符串
obj 必須制定? 要轉(zhuǎn)換的對(duì)象
sep 可選? 用于指定查詢字符串中的分割字符腥寇,默認(rèn)“&”
eq? 可選? 用于制定查詢字符串中的分配字符 默認(rèn)“=”
小栗子
querystring.stringify({user:"abc",age:18,sex:"male"});'
user=abc&age=18&sex=male'