今天继续 nodejs 的学习,今天学习的是 nodejs 中的 querystring 模块具有序列化与反序列化,转义与反转义的两组功能。接下来分析下这两个组的作用有哪些
1、querystring.stringify —— 将一个对象序列化为一个查询的字符串,中间使用 & 和 = 分别为字符串中的分隔符和赋值符
① 简单的示例
> querystring.stringify({name:'pkcms',author:'zh',date:''})
'name=pkcms&author=zh&date='
② stringify 同样也能转换包含数组的JSON
> querystring.stringify({name:'pkcms',author:['zh','hhy'],date:''})
'name=pkcms&author=zh&author=hhy&date='
③ stringify 中的第2个参数是用来修改 & 分隔符为其他符号,如下示例的英文逗号
> querystring.stringify({name:'pkcms',author:'zh',date:''},',')
'name=pkcms,author=zh,date='
④ stringify 中不但能修改默认的 & 分隔符,也可以修改 = 赋值符,如下示例
> querystring.stringify({name:'pkcms',author:'zh',date:''},',',':')
'name:pkcms,author:zh,date:'
2、querystring.parse —— 将一个查询的字符串反序列化为一个对象,也就是说它与 querystring.stringify 是起相反作用的关系
① 简单示例
> querystring.parse('name=pkcms&author=zh&date=')
{ name: 'pkcms', author: 'zh', date: '' }
② 相同的参数名会反序列化为一个数组
> querystring.parse('name=pkcms&author=zh&author=hhy&date=')
{ name: 'pkcms', author: [ 'zh', 'hhy' ], date: '' }
③ 第2个参数是用来指明分隔符是用了哪个字符
> querystring.parse('name=pkcms,author=zh,date=',',')
{ name: 'pkcms', author: 'zh', date: '' }
④ 第3个参数是用来指明赋值符是用了哈皮字符
> querystring.parse('name:pkcms,author:zh,date:',',',':')
{ name: 'pkcms', author: 'zh', date: '' }
3、querystring.escape —— 将一个字符转义成一个编码
> querystring.escape('')
'%3C%E5%93%88%E5%93%88%3E'
4、querystring.usescape —— 将一个编码反转义成一个字符
> querystring.unescape('%3C%E5%93%88%E5%93%88%3E')
''