本文实例讲述了Node.js API详解之 querystring用法。分享给大家供大家参考,具体如下:Node.js API详解之 querystringquerystring模块提供了一些实用函数,用于解析与格式换URL查询字符串
通过 const querystring = require(‘querystring'); 的方式引用querystrings模块目录:

querystring.escape(str)

querystring.unescape(str)

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

querystring.stringify(obj[, sep[, eq[, options]]])
querystring.escape(str)querystring.escape(str)querystring.unescape(str)querystring.unescape(str)querystring.parse(str[, sep[, eq[, options]]])querystring.parse(str[, sep[, eq[, options]]])querystring.stringify(obj[, sep[, eq[, options]]])querystring.stringify(obj[, sep[, eq[, options]]])querystring.escape(str)querystring.escape(str)querystring.escape(str)说明:
对给定的 str 进行 URL 编码
对给定的 str 进行 URL 编码demo:
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


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)querystring.unescape(str)querystring.unescape(str)说明:
对给定的 str 进行解码
对给定的 str 进行解码demo:
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=小强


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]]])querystring.parse(str[, sep[, eq[, options]]])querystring.parse(str[, sep[, eq[, options]]])说明:
该方法会把一个 URL 查询字符串 str 解析成一个键值对的集合。
str: 要解析的URL查询字符串window.location.search
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
decodeURIComponent:解码时使用的函数,默认:querystring.unescape()
maxKeys:指定要解析的键的最大数量。默认为 1000。指定为 0 则不限制
该方法会把一个 URL 查询字符串 str 解析成一个键值对的集合。
str: 要解析的URL查询字符串window.location.search
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
decodeURIComponent:解码时使用的函数,默认:querystring.unescape()
maxKeys:指定要解析的键的最大数量。默认为 1000。指定为 0 则不限制demo:
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' }


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]]])querystring.stringify(obj[, sep[, eq[, options]]])querystring.stringify(obj[, sep[, eq[, options]]])说明:
该方法通过遍历给定的 obj 对象的自身属性,生成 URL 查询字符串。
obj: 要序列化成 URL 查询字符串的对象
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
encodeURIComponent:解码时使用的函数,默认:querystring.escape()
该方法通过遍历给定的 obj 对象的自身属性,生成 URL 查询字符串。
obj: 要序列化成 URL 查询字符串的对象
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
encodeURIComponent:解码时使用的函数,默认:querystring.escape()demo:
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


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程序设计有所帮助。