querystring(查询字符串)
之前已经介绍了 http url 部分基础内容 这次进行介绍 查询字符串的相关基础
- 第一步
内置模块,直接引入
const querystring = require('querystring');
- querystring.escape(str)/querystring.unescape(str) 两个方法
简单讲就是编码解码
官方解释querystring.escape()方法以对 URL 查询字符串的特定要求进行了优化的方式对给定的 str 执行 URL 百分比编码。
querystring.unescape() 方法在给定的 str 上执行 URL 百分比编码字符的解码。
但最好的理解就是实例了
const querystring = require('querystring');
var str = querystring.escape('www.heihei.org/啦乱七八啊哦');
console.log(str);
console.log(querystring.unescape(str));
结果
www.heihei.org%2F%E5%95%A6%E4%B9%B1%E4%B8%83%E5%85%AB%E5%95%8A%E5%93%A6
www.heihei.org/啦乱七八啊哦
-
querystring.parse(str[, sep[, eq[, options]]])/querystring.stringify(obj[, sep[, eq[, options]]])
这两个方法也是可逆的,可以一起记忆,parse是字符串转对象,stringify是对象转字符串
参数也很相似 其中- sep是字符串中分隔键值对的子字符串。默认值: ‘&’
- 字符串中分隔键和值的子字符串。默认值: ‘=’
也就是说如果我们要来回转换时,这两个参数要一致,我们知道当我们用地址栏来传递数据时,都是?拼接类似
?name=aaa&age=14
正好与我们的默认值一样因此如果没有特殊需要我们也不需要更改例子
const querystring = require('querystring');
querystring.stringify({name:'xuexi',course:['nodejs','vue.js'],from:''})
querystring.stringify({name:'xuexi',course:['nodejs','vue.js'],from:''},',')
querystring.stringify({name:'xuexi',course:['nodejs','vue.js'],from:''},',',':')
querystring.parse('name=xuexi&course=nodejs&course=vue.js&from=')
querystring.parse('name=xuexi&course=nodejs&course=vue.js&from=','&')
querystring.parse('name=xuexi&course=nodejs&course=vue.js&from=',',')
querystring.parse('name=xuexi,course=nodejs,course=vue.js,from=')
querystring.parse('name=xuexi,course=nodejs,course=vue.js,from=', ',')
querystring.parse('name:xuexi,course:nodejs,course:vue.js,from:',',',':')
querystring. escape({from:’北京’})
querystring.unescape('%E5%8C%97%E4%BA%AC’)
通过例子 我们可以很快掌握规律 至于option参数可以去官网看API 暂时用不到它 就不做专门讲解
按顺序我们已经掌握的关键字有三个 http url querystring 可能有些第一次借出nodejs 的老铁不清楚我们到底要做些什么 不要急后续我们会将这些结合