Node.js学习之查询字符串解析querystring详解
前言
查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,狼蚁网站SEO优化话不多说了,来一起看看详细的介绍吧。
一、querystring.parse(str[, sep[, eq[, options]]])
这个API将URL查询字符串解析为键和值的集合
- str:URL查询字符串
- sep:标明字符串中用于划分键值对的符号,默认为“&”
- eq:用以标明查询字符串中键和值之间的符号,默认为“=”
例子如下
const querystring = require('querystring'); const url = require('url'); var queryUrl="http://localhost:8888/bb?name=李浩&memo=helloworld&memo=helloC"; queryUrl=url.parse(queryUrl).query; console.log(querystring.parse(queryUrl)) ; ---------------------------------------------------- // 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
带参数的例子
const querystring = require('querystring'); const url = require('url'); var queryUrl="http://localhost:8888/bb?name==李浩memo==helloworldmemo==helloC"; queryUrl=url.parse(queryUrl).query; console.log(querystring.parse(queryUrl,'','==')) ; ---------------------------------------------------- // 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
二、querystring.stringify(obj[, sep[, eq[, options]]])
这个API从一个给定的对象中生成一个URL查询字符串,通过遍历对象“自己的属性”。
- obj为给定的对象
- sep为键值对之间的分隔符,默认为“&”
- eq为键和值之间的连接符号,默认为“=”
例子如下
const qs=require("querystring"); var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] } console.log( qs.stringify(obj) ) / 输出 name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC; API默认是对中文进行了编码,狼蚁网站SEO优化我们再说编码解码的API /
带参数的例子
const qs=require("querystring"); var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] } console.log( qs.stringify(obj,'@','==') )
输出 name==%E6%9D%8E%E6%B5%A9@memo==helloworld@memo==helloC;
相信应该看出了带参数和不带参数的区别了吧
三、querystring.unescape(str)
这个API是对URL查询字符串中的URL进行解码的,例如上面我们进行stringify操作的时候,中文就会被编码,那么中文在URL中的时候也会被解析为编码后的样子,这个API一般配合querystring.parse()
使用
我们就拿上面中文出现编码的URL查询字符串来举例
例子如下
const qs = require("querystring"); var url = "name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC" var normalStr = qs.unescape(url) console.log( qs.parse(normalStr) ) //输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
四、querystring.escape(str)
这个API相当于就是querystring.unescape(str)
的逆向操作了,把中文编码,常和querystring.stringify()
连同使用
var obj = { name: '李浩', memo: ['helloworld', 'helloC'] }; console.log( qs.escape( qs.stringify(obj) ) ) // 输出 name%3D%25E6%259D%258E%25E6%25B5%25A9%26memo%3Dhelloworld%26memo%3DhelloC //连同&和=一起编码了
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对狼蚁SEO的支持。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程