Node.js querystring模块API详解与使用示例

作者:后端茶话

时间:2026-10-23

浏览:649

本文详细介绍Node.js中querystring模块的四个核心API:escape用于URL编码,unescape用于解码,parse将查询字符串解析为对象,stringify将对象序列化为查询字符串。通过具体代码示例说明各方法的参数配置与返回值,帮助开发者高效处理URL查询参数。

文章目录

querystring模块概述

本文通过具体实例深入解析Node.js中querystring模块的使用方法,旨在为开发者提供清晰的参考指南。

Node.js API详解之 querystring

querystring模块包含若干实用函数,专门用于解析和格式化URL中的查询字符串。使用时,需通过 const querystring = require('querystring'); 语句引入该模块。

目录:

  • querystring.escape(str)
  • querystring.unescape(str)
  • querystring.parse(str[, sep[, eq[, options]]])
  • querystring.stringify(obj[, sep[, eq[, options]]])

字符串编码与解码

querystring.escape(str)

功能说明:

对指定的字符串 str 执行URL编码操作。

示例代码:


let url= "www.baidu.com?p=xiaoqiang&n=小强";
 
console.log(querystring.escape(url));
//www.baidu.com%3Fp%3Dxiaoqiang%26n%3D%E5%B0%8F%E5%BC%BA

querystring.unescape(str)

功能说明:

对指定的字符串 str 执行URL解码操作。

示例代码:


let url= "www.baidu.com%3Fp%3Dxiaoqiang%26n%3D%E5%B0%8F%E5%BC%BA";
 
console.log(querystring.unescape(url));
//www.baidu.com?p=xiaoqiang&n=小强

查询字符串解析与序列化

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

功能说明:

该函数负责将URL查询字符串 str 解析为键值对集合。 str参数:待解析的URL查询字符串,例如 window.location.search。 sep参数:用于分隔搜索字符串中键值对的子字符串,默认值为 '&'。 eq参数:用于分隔搜索字符串中键与值的子字符串,默认值为 '='。 options参数:编码配置选项。 decodeURIComponent:解码时调用的函数,默认为 querystring.unescape()。 maxKeys:指定解析的最大键数量,默认值为 1000。若设置为 0,则表示不限制解析数量。

示例代码:


var search = "nickName=xiaoqiang&name=小强&age=23&area=huhot";
 
var params = querystring.parse(search, '&', '=', { decodeURIComponent: querystring.unescape });
 
console.log(params);
//{ nickName: 'xiaoqiang', name: '小强', age: '23', area: 'huhot' }

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

功能说明:

该函数通过遍历指定对象 obj 的自身属性,生成对应的URL查询字符串。 obj参数:需序列化为URL查询字符串的对象。 sep参数:用于分隔搜索字符串中键值对的子字符串,默认值为 '&'。 eq参数:用于分隔搜索字符串中键与值的子字符串,默认值为 '='。 options参数:编码配置选项。 encodeURIComponent:解码时调用的函数,默认为 querystring.escape()。

示例代码:


var searchObj = { nickName: 'xiaoqiang', name: '小强', age: '23', area: 'huhot' };
 
var search = querystring.stringify(searchObj, '&', '=', { decodeURIComponent: querystring.escape });
 
console.log(search);
//nickName=xiaoqiang&name=%E5%B0%8F%E5%BC%BA&age=23&area=huhot

希望上述内容能对您的Node.js编程实践提供帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章