安装及引入
qs 是一个 npm 仓库所管理的包,可通过 npm install qs
命令在项目中进行安装,
通过 import qs from 'query-string'
引入即可使用。
querystring 这个库是干什么的?
querystring 从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析,即是 url 中 ?
后的字符串参数。
它可以将这些字符串解析为对象,也可以将对象转换为符合格式的字符串。
这个库方法有哪些?
提供四个方法(主要使用前两个):
1、querystring.parse(str, separator, eq, options)
parse这个方法是将一个字符串反序列化为一个对象。
参数:
- str
指需要反序列化的字符串;
- separator(可省)
指用于分割str这个字符串的字符或字符串,默认值为"&“;
- eq(可省)
指用于划分键和值的字符或字符串,默认值为”=";
- options(可省)
该参数是一个对象,里面可设置maxKeys和decodeURIComponent这两个属性。
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' }
*/
2、querystring.stringify(obj,separator,eq,options)
stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse相对。
参数:
- obj
指需要序列化的对象
- separator(可省)
用于连接键值对的字符或字符串,默认值为"&“;
- eq(可省)
用于连接键和值的字符或字符串,默认值为”=";
- options(可省)
传入一个对象,该对象可设置encodeURIComponent这个属性。
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'
*/
3、querystring.escape
4、querystring.unescape
参考