您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Node.js查询字符串querystring详解

2025/2/16 16:05:27发布25次查看
查询字符串模块提供了解析和格式化工具url查询字符串的api,本文将详细介绍关于node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
一、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==helloworld*memo==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默认是对中文进行了编码,下面我们再说编码解码的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 //连同&和=一起编码了
相关推荐:
分享nodejs中querystring介绍
使用js获取querystring的方法小结_javascript技巧
node.js中的querystring.parse方法使用说明_node.js
以上就是node.js查询字符串querystring详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product