Node.js querystring模块API详解与使用示例
本文详细介绍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编程实践提供帮助。
Node.js中使用path模块获取文件名
2026-11-05 15:15:15
Node.js中url模块与querystring模块处理查询字符串的区别
2026-11-05 15:04:45
JavaScript(JS)主要用来做什么
2026-11-05 10:10:47
怎么修改Node.js和npm的全局安装路径与缓存目录
2026-11-04 19:48:28
NW.js 常见问题排查:Node 模块加载失败与版本兼容解决
2026-11-04 11:22:45
