模块概述

在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"
}

再来看下sepeq有什么作用。相当于可以替换&=为自定义字符,对于下面的场景来说还是挺省事的。

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

最新文章

  1. Oracle_SQL函数-分组函数
  2. Second glance in Go
  3. UIDate(时间)
  4. C++异常处理机制几种方法
  5. 黄聪:Wordpress二级域名共享用户cookie出现错误解决方案及WP的Cookie机制
  6. 图层的transform属性
  7. C#窗体全屏功能
  8. webview上传图片
  9. ZOJ 3209 Treasure Map 精确覆盖
  10. 解决android模块化升级方法
  11. 制作类似ThinkPHP框架中的PATHINFO模式功能(二)
  12. [Docker网络]模拟一台交换机的拓扑
  13. c/c++ 智能指针 shared_ptr 和 new结合使用
  14. Clustering[Spectral Clustering]
  15. zxing二维码
  16. 发布xxl-job executor dotnet core 执行器的实现
  17. [04] JSP标准动作
  18. s4-2 ALOHA 协议
  19. [JAVA] Android用到的一些文件操作
  20. Spark RDD的fold和aggregate为什么是两个API?为什么不是一个foldLeft?

热门文章

  1. python写的分析mysql binlog日志工具
  2. 0022 Java学习笔记-面向对象-继承、多态、组合
  3. 安装DELL R430服务器的过程记录
  4. ASP.NET 跨域
  5. 单片机温度控制系统DS18B20
  6. hdu 3472 HS BDC(混合路的欧拉路径)
  7. corefile 设置
  8. C++变量和函数
  9. Ubuntu Kylin15下PHP环境的搭建(LAMP)
  10. @RestController注解下返回到jsp视图页面