querystring是node.js自带的模块不需要安装
querystring只提供4个方法
- querystring.escape(str)
- querystring.unescape(str)
- querystring.parse(str[, sep[, eq[, options]]])
- querystring.stringify(obj[, sep[, eq[, options]]])
querystring.escape(str)
对字符串进行编码
const querystring = require('querystring');
var str = 'name=王五&age=22';
console.log(querystring.escape(str));
// name%3D%E7%8E%8B%E4%BA%94%26age%3D22
querystring.unescape(str)
对字符串进行解码, 与querystring.escape相反
const querystring = require('querystring');
var str = 'name%3D%E7%8E%8B%E4%BA%94%26age%3D22';
console.log(querystring.unescape(str));
// name=王五&age=22
querystring.parse(str[, sep[, eq[, options]]])
将字符串解析成对象
const querystring = require('querystring')
var str = 'name=王五&age=22';
console.log(querystring.parse(str));
// { name: '王五', age: '22' }
querystring.parse的第2个参数可选,用于连接键值对的分隔符,默认’&’
const querystring = require('querystring')
var str = 'name=王五|age=22';
console.log(querystring.parse(str, '|'));
// { name: '王五', age: '22' }
querystring.parse的第3个参数可选,用于连接键和值的分隔符,默认’=’
const querystring = require('querystring')
var str = 'name:王五&age:22';
console.log(querystring.parse(str, null, ':'));
// { name: '王五', age: '22' }
querystring.parse的第4个参数可选, 传入一个对象
const querystring = require('querystring')
var str = 'name=王五&age=22';
console.log(querystring.parse(str, null, null, {
// <Number> 指定要解析最大的键数,默认值为1000, 如果指定0不限制
maxKeys: 0,
// <Function> 对百分比进行解码时使用的函数,默认querystring.unescape()
decodeURIComponent: function (str) {
return querystring.unescape(str);
}
}));
querystring.stringify(obj[, sep[, eq[, options]]])
将一个对象进行格式化,与querystring.parse是相反
const querystring = require('querystring')
var obj = {
name: '王五',
age: 22
};
console.log(querystring.stringify(obj));
// name=%E7%8E%8B%E4%BA%94&age=22
querystring.stringify的第2个参数可选,用于连接键值对的分隔符,默认’&’
const querystring = require('querystring')
var obj = {
name: '王五',
age: 22
};
console.log(querystring.stringify(obj, '|'));
// name=%E7%8E%8B%E4%BA%94|age=22
querystring.stringify的第3个参数可选,用于连接键和值的分隔符,默认’=’
const querystring = require('querystring')
var obj = {
name: '王五',
age: 22
};
console.log(querystring.stringify(obj, '|', ':'));
// name:%E7%8E%8B%E4%BA%94|age:22
querystring.stringify的第4个参数可选, 传入一个对象
const querystring = require('querystring');
var obj = {
name: '王五',
age: 22
};
console.log(querystring.stringify(obj, null, null, {
// <Function> 将URL不安全的字符进行百分比编码时使用的函数,默认querystring.escape()
encodeURIComponent: function (str) {
return querystring.escape(str);
}
}));