10-URL 查询字符串-querystring

169 阅读1分钟

URL 查询字符串-querystring

// 模块概述
// 在nodejs中,提供了querystring这个模块,用来做url参数的解析
// 模块有四个方法,我们会用到 querystring.parse() querystring.stringify() 这个两个方法
// querystring.parse() 对url查询参数(字符串)进行解析,生成易于分析的json格式
// querystring.stringify() 跟 querystring.parse() 相反,用于拼接查询参数

查询参数解析 querystring.parse()

// querystring.parse(str, sep, eq, options)
// 第四个参数几乎用不到,第二第三个参数使用很少,
const str = "nick=123&age=24";
const obj = querystring.parse(str);
console.log(obj); // { nick: '123', age: '24' }

// 接下来看 seq 和 eq 作用,相当于替换 & = 为自定义字符, 对于下面场景适用
const str1 = "nick=casper&age=24&extra=name-chyingp|country-cn";
const obj1 = querystring.parse(str1);
const obj2 = querystring.parse(obj1.extra, "|", "-");
console.log(JSON.stringify(obj2, null, 4));
// {
//   "name": "chyingp",
//    "country": "cn"
// }

查询参数拼接 querystring.stringify()

// querystring.stringify(obj, sep, eq, options)
const obj = {
  name: "chyingp",
  country: "cn",
};
const str = querystring.stringify(obj);
console.log(str); // name=chyingp&country=cn

const obj1 = {
  name: "chyingp",
  country: "cn",
};
const str1 = querystring.stringify(obj1, "|", "-");
console.log(str1); // name-chyingp|country-cn