NodeJS URL 查询字符串 querystring

发布于 2025-01-14 01:13:18 字数 2254 浏览 2 评论 0

模块概述

在 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

假装不在乎

暂无简介

文章
评论
25 人气
更多

推荐作者

hncloud

文章 0 评论 0

13545243122

文章 0 评论 0

探春

文章 0 评论 0

樱桃奶球

文章 0 评论 0

LR

文章 0 评论 0

J.smile

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文