[关闭]
@Wangww0925 2019-08-07T08:03:01.000000Z 字数 2554 阅读 262

querystring 序列化 & 反序列化、编码 & 解码 模块

NodeJs


querystring 模块: 提供序列化与反序列化,转义与反转义两组功能

引入querystring模块: var querystring = require("querystring");

querystring 参数

  1. stringify(参数1, 参数2, 参数3) - 将对象序列化为字符串 【使用&和=分别为字符串中的分割符合赋值符】
  2. parse(参数1, 参数2, 参数3) - 将字符串反序列化为对象 【与querystring.stringlfy()的作用相反】
  3. escape(data) - 将字符编码
  4. unescape(data) - 将字符解码
  5. unescapeBuffer()
  6. encode()
  7. decode()


JSON.stringify(obj) & JSON.parse(json)

再看querystring的序列化与反序列化之前,我们看下JSON对序列化与反序列化的处理

例子:

  1. var obj = {
  2. name:"laowang",
  3. age:100,
  4. sex:"女"
  5. };
  6. // 将对象转换为json字符串
  7. var jsonStr = JSON.stringify(obj);
  8. console.log(jsonStr); // 返回JSON字符串 '{"name":"laowang","age":100,"sex":"女"}'
  9. // 将json字符串转换为对象
  10. console.log(JSON.parse(jsonStr)); // 返回对象 { name: 'laowang', age: 100, sex: '女' }

querystring.stringify(参数1, 参数2, 参数3) 将对象序列化为字符串

参数

  1. 参数1 - 将对象序列号化为字符串
  2. 参数2 - 指定分隔符,默认 &
  3. 参数3 - 修饰属性和属性值的连接符,默认 =

注意

如果转换的对象中有中文会对中文进行unicode编码

例子: 一个参数

  1. var querystring = require("querystring");
  2. var obj = {
  3. name:"laowang",
  4. age:100,
  5. sex:"女"
  6. };
  7. var str = querystring.stringify(obj);
  8. console.log(str); // name=laowang&age=100&sex=%E5%A5%B3

例子: 两个参数

  1. var querystring = require("querystring");
  2. var obj = {
  3. name:"laowang",
  4. age:100,
  5. sex:"女"
  6. };
  7. var str = querystring.stringify(obj,"@");
  8. console.log(str); // name=laowang@age=100@sex=%E5%A5%B3

例子: 三个参数

  1. var querystring = require("querystring");
  2. var obj = {
  3. name:"laowang",
  4. age:100,
  5. sex:"女"
  6. };
  7. var str = querystring.stringify(obj,"@",":");
  8. console.log(str); // name:laowang@age:100@sex:%E5%A5%B3

querystring.parse(参数1, 参数2, 参数3) 将字符串反序列化为对象

参数

  1. 参数1 - 将对象序列号化为字符串
  2. 参数2 - 指明分隔符,根据分隔符来进行反序列化,默认 &
  3. 参数3 - 指明修饰属性和属性值的连接符,默认 =

例子: 一个参数

  1. var querystring = require("querystring");
  2. var str = querystring.parse("name=laowang&age=100&sex=%E5%A5%B3");
  3. console.log(str); // { name: 'laowang', age: '100', sex: '女' }

例子: 两个参数

  1. var querystring = require("querystring");
  2. var str = querystring.parse("name=laowang@age=100@sex=%E5%A5%B3", "@");
  3. console.log(str); // { name: 'laowang', age: '100', sex: '女' }

例子: 三个参数

  1. var querystring = require("querystring");
  2. var str = querystring.parse("name:laowang@age:100@sex:%E5%A5%B3","@",":");
  3. console.log(str); // { name: 'laowang', age: '100', sex: '女' }

querystring.escape(data) 编码 & querystring.unescape(data) 解码

参数

  1. data - 字符串数据

例子

  1. var querystring = require("querystring");
  2. var str = querystring.escape("<h1>哈哈哈</h1>");
  3. console.log(str); // %3Ch1%3E%E5%93%88%E5%93%88%E5%93%88%3C%2Fh1%3E
  4. var str1 = querystring.unescape(str);
  5. console.log(str1); // <h1>哈哈哈</h1>

作者 wendy
2019 年 1月 21日

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注