一个完整的URL字符串中,从""(不包括"#"(如果存在#)或者到该URL字符串结束(如果不存在#)的这一部分称为查询字符串.
可以使用Query String模块中的parse方法将该字符串转换为一个对象,parse方法的使用方式如下所示:
querystring.parse(str,[sep],[eq],[options]);
str表示被转换的查询字符串,
sep.字符串中的分隔符,默认是&
eq.该字符串中的分配符,默认为=."="左边是key,右边是value
options:是一个对象,可以在该对象中使用一个整数值类型的maxKeys属性来指定转换后的对象中的属性个数,如果将maxKeys属性值设定为0.其效果等于不使用maxKeys属性值
复制代码 代码如下:
var querystring=require("querystring");
var str="username=guoyansi&age=40&sex=male";
var res=querystring.parse(str);
console.log("1:%j",res);//1:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!");
console.log("2:%j",res);//2:{"username":"guoyansi&age=40&sex=male"}
res=querystring.parse(str,"&");
console.log("3:%j",res);//3:{"username":"guoyansi","age":"40","sex":"male"}
str="username=guoyansi!age=40!sex=male";
res=querystring.parse(str,"!");
console.log("4:%j",res);//4:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!","=");
console.log("5:%j",res);//5:{"username":"guoyansi","age":"40","sex":"male"}
res=querystring.parse(str,"!",":");
console.log("6:%j",res);//6:{"username=guoyansi":"","age=40":"","sex=male":""}
res=querystring.parse(str,"!","=",{maxKeys:2});
console.log("7:%j",res);//7:{"username":"guoyansi","age":"40"}
stringify是将字符串转化成查询字符串的格式.
querystring.stringify(obj,[sep],[eq])
复制代码 代码如下:
var querystring=require("querystring");
var res= querystring.stringify({"username":"guoyansi","age":"40","sex":"male"});
console.log(res);//username=guoyansi&age=40&sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"!");
console.log(res);//username=guoyansi!age=40!sex=male
res=querystring.stringify({"username":"guoyansi","age":"40","sex":"male"},"&",":");
console.log(res);//username:guoyansi&age:40&sex:male
res=querystring.stringify({"username":"guoyansi","age":["40","24"]},"&","=");
console.log(res);//username=guoyansi&age=40&age=24
在url模块中,可以使用parse()方法将URL字符串转换为一个对象,根据URL字符串中的不同内容,该对象可能具有的属性及其含义如下.
href:被转换的原URL字符串.
protocol:客户端发出请求时使用的协议.
slashes:在协议与路径中间时候使用"//"分隔符.
host:URL字符串中的完整地址及端口号,该地址可能为一个IP地址,也可能为一个主机名.
auth:URL字符串中的认证信息部分.
hostname:URL字符串中的完整地址,该地址可能为一个IP地址,也可能为一个主机名.
search:Url字符串中的查询字符串,包含起始字符""
path:url字符串中的路径,包含查询字符串.
query:url字符串中的查询字符串,不包含起始字符"",或根据该查询字符串而转换的对象(根据parse()方法所用参数而决定query属性值);
hash:url字符串中的散列字符串,包含起始字符"#".
url.parse(urlstr,[parseQueryString]);
urlStr:是需要转换的URL字符串,
parseQueryString:是一个布尔值,当参数为true时,内部使用querystring模块查询字符串转换为一个对象,参数值为false时不执行该转换操作,默认是false
复制代码 代码如下:
var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php";
var res=url.parse(str);
console.log(res);
复制代码 代码如下:
{ protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host:8080',
port: '8080',
hostname: 'host',
hash: '#name1',
search: '"codetitle">复制代码 代码如下:
var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php";
var res=url.parse(str,true);
console.log(res);
复制代码 代码如下:
{ protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host:8080',
port: '8080',
hostname: 'host',
hash: '#name1',
search: '"codetitle">复制代码 代码如下:
var url=require("url");
var str="http://user:pass@host,com:8080/users/user.php";
var res=url.parse(str,true);
console.log(url.format(res));
结果是:
http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1
以上就是node中转换URL字符串与查询字符串的全部内容了,好好研究下,其实挺简单的。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 谭咏麟2024《暴风女神Lorelei》头版限量编号MQA-UHQCD[WAV+CUE]
- 群星.2003-滚石黄金十年系列33CD【滚石】【WAV+CUE】
- 萧亚轩.2008-3面夏娃【维京】【WAV+CUE】
- 唐娜.1989-那年情人节好冷【喜玛拉雅】【WAV+CUE】
- 赵传《赵传奇》 滚石SACD系列 SACD限量版[ISO][1.1G]
- 黄龄《痒》天韵文化[WAV+CUE][1G]
- 张学友《走过1999》2023头版蜚声环球限量编号[低速原抓WAV+CUE][1G]
- 田震《真的田震精品集》头版限量编号24K金碟[低速原抓WAV+CUE][1G]
- 林俊杰《伟大的渺小》华纳[WAV+CUE][1G]
- 谭艳《遗憾DSD》2023 [WAV+CUE][1G]
- Beyond2024《真的见证》头版限量编号MQA-UHQCD[WAV+CUE]
- 瑞鸣唱片2024-《荒城之月》SACD传统民谣[ISO]
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】