Nodejs querystring类介绍

Nodejs querystring类介绍

querystring是node.js和参数相关的工具类,node.js原生自带,直接 require(‘querystring’) 即可使用. 此类一共包括4个方法:

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

[内参数]表示可选参数, [sep]指分隔符 默认& , [eq]指分配符 默认= 下面一个一个来介绍:

一:querystring.stringify(obj,[sep],[eq])

对象格式化成参数字符串 ,obj就是要格式化的对象,必选参数.

var obj={name:"一介布衣",url:"http://yijiebuyi.com"};
var param= querystring.stringify(obj);
//没有指定分隔符和分配符,并且自动编码汉字
console.log(param);

qs1.png

param=querystring.stringify(obj,'|','*');
//指定了分隔符和分配符
console.log(param);

index.png

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

参数字符串格式化成对象 var obj={name:“一介布衣”,url:“http://yijiebuyi.com”}; var param= querystring.stringify(obj); 我们把param 字符串格式化成对象,使用默认分隔分配符 var newobj=querystring.parse(param); console.log(typeof newobj,newobj); //打印出来格式化后的数据类型 和 内容.

index.png

可以看到格式化以后是object类型,并且汉字自动解码显示出来. 当覆盖分割和分配符,如下: param=querystring.stringify(obj,’|’,’’); console.log(param); index.png 然后解析: param=querystring.stringify(obj,’|’,’’); console.log(param); index.png

三:querystring.escape

参数编码 var param="一介布衣& http://yijiebuyi.com" console.log(querystring.escape(param)); index.png

四:querystring.unescape

参数解码 var param=“一介布衣&http://yijiebuyi.com”; console.log(querystring.escape(param)); console.log(querystring.unescape(querystring.escape(param))); 直接对上面编码后的参数字符串进行解码 index.png


2 回复

Nodejs querystring类介绍

querystring 是 Node.js 中用于处理查询字符串的内置工具类。它提供了四个主要方法,用于将对象转换为查询字符串以及将查询字符串转换回对象。本文将详细介绍这些方法及其用法。

一: querystring.stringify(obj, [sep], [eq])

该方法将一个对象格式化为查询字符串。obj 是必需的参数,表示要格式化的对象;[sep][eq] 分别是分隔符和等号,默认值分别是 &=

示例代码:

const querystring = require('querystring');

var obj = { name: "一介布衣", url: "http://yijiebuyi.com" };
var param = querystring.stringify(obj);
console.log(param); // 输出: name=%E4%B8%80%E4%BB%A3%E5%B8%81&url=http%3A%2F%2Fyijiebuyi.com

// 指定分隔符和等号
param = querystring.stringify(obj, '|', '*');
console.log(param); // 输出: name*%E4%B8%80%E4%BB%A3%E5%B8%81|url*http%3A%2F%2Fyijiebuyi.com

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

该方法将查询字符串解析为对象。str 是必需的参数,表示要解析的字符串;[sep][eq] 分别是分隔符和等号,默认值分别是 &=

示例代码:

const querystring = require('querystring');

var obj = { name: "一介布衣", url: "http://yijiebuyi.com" };
var param = querystring.stringify(obj);

var newobj = querystring.parse(param);
console.log(typeof newobj, newobj); // 输出: object { name: '一介布衣', url: 'http://yijiebuyi.com' }

// 覆盖分割和分配符
param = querystring.stringify(obj, '|', '*');
newobj = querystring.parse(param, '|', '*');
console.log(newobj); // 输出: { name: '一介布衣', url: 'http://yijiebuyi.com' }

三: querystring.escape

该方法对字符串中的特殊字符进行编码。

示例代码:

const querystring = require('querystring');

var param = "一介布衣 & http://yijiebuyi.com";
console.log(querystring.escape(param)); // 输出: %E4%B8%80%E4%BB%A3%E5%B8%81%20%26%20http%3A%2F%2Fyijiebuyi.com

四: querystring.unescape

该方法对已编码的字符串进行解码。

示例代码:

const querystring = require('querystring');

var param = "一介布衣 & http://yijiebuyi.com";
param = querystring.escape(param);
console.log(querystring.unescape(param)); // 输出: 一介布衣 & http://yijiebuyi.com

通过上述示例代码,我们可以看到 querystring 类如何方便地进行查询字符串的编码和解码操作。希望这些示例能够帮助你更好地理解和使用 querystring 类。


querystring 是 Node.js 提供的一个用于处理 URL 编码字符串的工具类。它主要包括四个方法:querystring.stringify()querystring.parse()querystring.escape()querystring.unescape()

一: querystring.stringify(obj, [sep], [eq])

该方法将对象转换为 URL 查询字符串,默认情况下会自动编码非 ASCII 字符。

示例代码:

const querystring = require('querystring');

var obj = { name: "一介布衣", url: "http://yijiebuyi.com" };
var param = querystring.stringify(obj);
console.log(param); // 输出:name=%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93&url=http%3A%2F%2Fyijiebuyi.com

// 指定分隔符和等号
param = querystring.stringify(obj, '|', '*');
console.log(param); // 输出:name*%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93|url*http%3A%2F%2Fyijiebuyi.com

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

该方法将查询字符串解析为对象,默认情况下会自动解码非 ASCII 字符。

示例代码:

const querystring = require('querystring');

var str = 'name=%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93&url=http%3A%2F%2Fyijiebuyi.com';
var obj = querystring.parse(str);
console.log(obj); // 输出:{ name: '一介布衣', url: 'http://yijiebuyi.com' }

// 指定分隔符和等号
str = 'name*%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93|url*http%3A%2F%2Fyijiebuyi.com';
obj = querystring.parse(str, '|', '*');
console.log(obj); // 输出:{ name: '一介布衣', url: 'http://yijiebuyi.com' }

三: querystring.escape()

该方法对参数进行 URL 编码。

示例代码:

const querystring = require('querystring');

var param = "一介布衣 & http://yijiebuyi.com";
console.log(querystring.escape(param)); // 输出:%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93+%26+http%3A%2F%2Fyijiebuyi.com

四: querystring.unescape()

该方法对 URL 编码的字符串进行解码。

示例代码:

const querystring = require('querystring');

var encodedParam = "%E4%B8%80%E4%BB%A3%E5%B8%81%E5%A3%93+%26+http%3A%2F%2Fyijiebuyi.com";
console.log(querystring.unescape(encodedParam)); // 输出:一介布衣 & http://yijiebuyi.com

这些方法可以帮助你在处理 URL 参数时进行编码和解码操作,使你的应用更健壮和可靠。

回到顶部