querystring模块的一些函数用于解析与格式化url查询字符串,与其他类一样,使用require("querystring")引入。
- 下面先定义一个对象obj使用stringify将对象转成字符串,在使用parse将字符串转成对象。
stringify传一个参数
var querystring = require("querystring");
var obj = {name:"张三",age:25,height:"180cm"};
// 对象转字符串
var res = querystring.stringify(obj);
console.log(res);
// 字符串转对象
var newobj = querystring.parse(res);
console.log(newobj);
下面结果图:
FC325EF53E701C98A4355CBE49064A1E.png
- unescape方法是将乱码转换成正常的汉字,这个还挺实用的,在url地址栏上的参数传汉字时,经常是一串被编译过的乱码,使用unescape就解析乱码
var res = querystring.stringify(obj);
console.log(res);
// 乱码转换
var res1 = querystring.unescape(res);
console.log(res1);
下面结果图,乱码被解析:
B1AA9E8C3FF8248DAF182BB369DC4E10.png
- stringify传两个参数,将对象转换成字符串,第二个参数代表以什么链接字符串;parse传两个参数,将字符串变成数组,第二个参数代表以什么切割字符串。
如下例以*为例
// 以*连接
var data = querystring.stringify(obj,"*");
console.log(data);
// 以*分割,将字符串变成对象
var result = querystring.parse(data,"*");
console.log(result);
下面结果图:
F7DC51D9E97A617C95EA4828BC40F780.png
- stringify传三个参数时
第一个参数:对象;
第二个参数:将连接符换成第二个参数的值
第三个参数:将对象的键名与键值用第三个参数的值链接
下例:就是把连接符替换成*,键名与键值用?链接
// 连接符*,等号换成?
var data1 = querystring.stringify(obj,"*","?");
console.log(data1);
下面为结果图
059C3D54-061F-4C7E-8873-97065E3B820C.png
- escape将汉字转换成乱码的编码格式
var str = "你好";
var newstr = querystring.escape(str);
console.log(newstr);
下面结果图,将汉字你好转换成一串字符串。
2FA1B270-76F3-4B62-893D-A8848B707649.png
网友评论