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

本文介绍了Node.js中QueryString模块的使用方法,包括.parse()和.stringify()两个主要函数,用于URL查询参数的解析和拼接。通过实例展示了如何替换默认分隔符和等号。

模块概述

在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

转载于:https://www.cnblogs.com/chyingp/p/6037406.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值