和参数相关的帮助类,原生自带,直接 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:"fangao",url:"http://fangao.com"};
var param= querystring.stringify(obj);
//没有指定分隔符和分配符,并且自动编码汉字
console.log(param);

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

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

参数字符串格式化成对象

var obj={name:"fangao",url:"http://fangao.com"};

var param= querystring.stringify(obj);
 

我们把param 字符串格式化成对象,使用默认分隔分配符

var newobj=querystring.parse(param);
console.log(typeof newobj,newobj);

//打印出来格式化后的数据类型 和 内容.

可以看到格式化以后是object类型,并且汉字自动解码显示出来.

当覆盖分割和分配符,如下:

param=querystring.stringify(obj,'|','*');
console.log(param);

然后解析:

newobj=querystring.parse(param,'|','*');
console.log(newobj);

 

三、querystring.escape

参数编码

var param="梵高&高更"
console.log(querystring.escape(param));

四、querystring.unescape

参数解码

var param="梵高&高更"

console.log(querystring.unescape(querystring.escape(param)));

直接对上面编码后的参数字符串进行解码

 

[Node.js] querystring类的更多相关文章

  1. node.js querystring类介绍

    querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串. 使用以下方法引入: const querystring = require('querystring'); 此类 ...

  2. node.js querystring处理参数

    C:\Documents and Settings\Administrator\WebstormProjects\untitled6>node> url{ parse: [Function ...

  3. node.js—Buffer类(二进制数据处理模块)

    Buffer类概述 一个用于更好的操作二进制数据的类 我们在操作文件或者网络数据的时候,其实操作的就是二进制数据流 Node为我们提供了一个更加方便的去操作这种数据流的类 Buffer,他是一个全局的 ...

  4. 23. Node.Js Buffer类(缓冲区)-(三)文件读取实例

    转自:https://blog.csdn.net/u011127019/article/details/52513109

  5. 22. Node.Js Buffer类(缓冲区)-(二)

    转自:https://blog.csdn.net/u011127019/article/details/52512242

  6. 21. Node.Js Buffer类(缓冲区)-(一)

    转自:https://blog.csdn.net/u011127019/article/details/52512242

  7. 为什么Node.JS会受到青睐?

    为什么会是Node.JS? 从技术上讲,Node.JS不是一个非常好的项目,Node.JS只是把一个烂想法实现到了可以接受的程度. 但是人们为什么愿意用Node.JS? 从历史看来,成功的项目从来都不 ...

  8. mongodb shell和Node.js driver使用基础

    开始: Mongo Shell 安装后,输入mongo进入控制台: //所有帮助 > help //数据库的方法 > db.help() > db.stats() //当前数据库的状 ...

  9. 有用的内置Node.js APIs

    前言 在构建你的第一个Node.js应用程序时,了解node开箱即用的实用工具和API是很有帮助的,可以帮助解决常见的用例和开发需求. 有用的Node.js APIs Process:检索有关环境变量 ...

随机推荐

  1. 优化Linux下的内核TCP参数以提高系统性能

    内核的优化跟服务器的优化一样,应本着稳定安全的原则.下面以64位的Centos5.5下的Squid服务器为例来说明,待客户端与服务器端建立 TCP/IP连接后就会关闭SOCKET,服务器端连接的端口状 ...

  2. [转帖]Ubuntu 安装VNC的一个方法

    来源: https://blog.csdn.net/CSDN_duomaomao/article/details/75270271 Ubuntu 16.04 LTS 安装VNC,在百度和谷歌找了很多教 ...

  3. es6 let关键字

    1.let关键字 var arr = [ ]; for(var i=0; i<10; i++){ arr [i] = function(){ alert(i) } } arr [8](); // ...

  4. 不记得oracle管理员密码,更改oracle sys密码的方法

    1.确保下面两条满足 a. sqlnet.ora里 SQLNET.AUTHENTICATION_SERVICES = (NTS) 的配置是否存在,不存在加上这句: b. 你的os 用户是不是属于ora ...

  5. PowerDesigner在生成SQL时报错Generation aborted due to errors detected during the verification of the mod

    一.本章节要用到  ODBC连接数据库直接创建表,请先创建连接库的ODBC 请参考  新建  http://www.cnblogs.com/wdw31210/p/7580286.html 二.生成 去 ...

  6. SDOI2017硬币游戏

    题面链接 洛咕 sol 神题,幸好我不是SD的QAQ. 假设你们都会\(O(n^3m^3)\)的高斯消元,具体来说就是建出\(Trie\)图然后套游走的板子. 然后我们发现可以把不能匹配任何串的概率压 ...

  7. 【bzoj3598】 Scoi2014—方伯伯的商场之旅

    http://www.lydsy.com/JudgeOnline/problem.php?id=3598 (题目链接) 题意 Solution 原来这就是极水的数位dp,呵呵= =,感觉白学了.htt ...

  8. 求n个数中前k个数,按之前的顺序输出(HK IPM)

    For smaller k: #include <cstdio> #include <cstdlib> #include <cstring> #include &l ...

  9. WHY C++ ?(by Herb Sutter) & C++17 standard

    WHY C++ ? C++

  10. python基础之生成器迭代器

    1 生成器: 为什么要有生成器? 就拿列表来说吧,假如我们要创建一个list,这个list要求格式为:[1,4,9,16,25,36……]这么一直持续下去,直到有了一万个元素的时候为止.如果我们要创建 ...