前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node基础:url查询参数解析之querystring

Node基础:url查询参数解析之querystring

作者头像
IMWeb前端团队
发布2018-01-08 17:42:51
1.6K0
发布2018-01-08 17:42:51
举报
文章被收录于专栏:IMWeb前端团队

本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载

模块概述

在nodejs中,提供了querystring这个模块,用来做url查询参数的解析。在做node服务端开发的时候基本都会用到,使用非常简单,一般只需要记住 .parse()、.stringify() 两个方法就可以了。

模块总共有四个方法,绝大部分时,我们只会用到 .parse().stringify()两个方法。剩余的方法,感兴趣的同学可自行查看文档。

  • .parse():对url查询参数(字符串)进行解析,生成易于分析的json格式。
  • .stringif():跟.parse()相反,用于拼接查询查询。
代码语言:javascript
复制
querystring.parse(str[, sep[, eq[, options]]])
querystring.stringify(obj[, sep[, eq[, options]]])

查询参数解析:querystring.parse()

参数:querystring.parse(str[, sep[, eq, options]])

第四个参数几乎不会用到,直接不讨论. 第二个, 第三个其实也很少用到,但某些时候还是可以用一下。直接看例子

代码语言:javascript
复制
var querystring = require('querystring');
var str = 'nick=casper&age=24';
var obj = querystring.parse(str);
console.log(JSON.stringify(obj, null, 4));

输出如下

代码语言:javascript
复制
{
    "nick": "casper",
    "age": "24"
}

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

代码语言:javascript
复制
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));

输出如下

代码语言:javascript
复制
{
    "name": "chyingp",
    "country": "cn"
}

查询参数拼接:querystring.stringify()

querystring.stringify(obj[, sep[, eq, options]])

没什么好说的,相当于parse的逆向操作。直接看代码

代码语言:javascript
复制
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);

输出如下

代码语言:javascript
复制
nick=casper&age=24
name-chyingp|country-cn

相关链接

官方文档:https://nodejs.org/api/querystring.html

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模块概述
  • 查询参数解析:querystring.parse()
  • 查询参数拼接:querystring.stringify()
  • 相关链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档