Node基础:url查询参数解析之querystring
2024-08-26 00:46:10
模块概述
在nodejs中,提供了querystring这个模块,用来做url查询参数的解析,使用非常简单。
模块总共有四个方法,绝大部分时,我们只会用到 .parse()、 .stringify()两个方法。剩余的方法,感兴趣的同学可自行查看文档。
- .parse():对url查询参数(字符串)进行解析,生成易于分析的json格式。
- .stringif():跟.parse()相反,用于拼接查询查询。
querystring.parse(str[, sep[, eq[, options]]])
querystring.stringify(obj[, sep[, eq[, options]]])
查询参数解析:querystring.parse()
参数:querystring.parse(str[, sep[, eq[, options]]])
第四个参数几乎不会用到,直接不讨论. 第二个, 第三个其实也很少用到,但某些时候还是可以用一下。直接看例子
var querystring = require('querystring');
var str = 'nick=casper&age=24';
var obj = querystring.parse(str);
console.log(JSON.stringify(obj, null, 4));
输出如下
{
"nick": "casper",
"age": "24"
}
再来看下sep
、eq
有什么作用。相当于可以替换&
、=
为自定义字符,对于下面的场景来说还是挺省事的。
var str1 = 'nick=casper&age=24&extra=name-chyingp|country-cn';
var obj1 = querystring.parse(str1);
var obj2 = querystring.parse(obj1.extra, '|', '-');
console.log(JSON.stringify(obj2, null, 4));
输出如下
{
"name": "chyingp",
"country": "cn"
}
查询参数拼接:querystring.stringify()
querystring.stringify(obj[, sep[, eq[, options]]])
没什么好说的,相当于parse
的逆向操作。直接看代码
var querystring = require('querystring');
var obj1 = {
"nick": "casper",
"age": "24"
};
var str1 = querystring.stringify(obj1);
console.log(str1);
var obj2 = {
"name": "chyingp",
"country": "cn"
};
var str2 = querystring.stringify(obj2, '|', '-');
console.log(str2);
输出如下
nick=casper&age=24
name-chyingp|country-cn
相关链接
官方文档:https://nodejs.org/api/querystring.html
最新文章
- Oracle_SQL函数-分组函数
- Second glance in Go
- UIDate(时间)
- C++异常处理机制几种方法
- 黄聪:Wordpress二级域名共享用户cookie出现错误解决方案及WP的Cookie机制
- 图层的transform属性
- C#窗体全屏功能
- webview上传图片
- ZOJ 3209 Treasure Map 精确覆盖
- 解决android模块化升级方法
- 制作类似ThinkPHP框架中的PATHINFO模式功能(二)
- [Docker网络]模拟一台交换机的拓扑
- c/c++ 智能指针 shared_ptr 和 new结合使用
- Clustering[Spectral Clustering]
- zxing二维码
- 发布xxl-job executor dotnet core 执行器的实现
- [04] JSP标准动作
- s4-2 ALOHA 协议
- [JAVA] Android用到的一些文件操作
- Spark RDD的fold和aggregate为什么是两个API?为什么不是一个foldLeft?