Node.js API详解之 querystring用法实例分析

本文实例讲述了Node.js API详解之 querystring用法。分享给大家供大家参考,具体如下:

Node.js API详解之 querystring

querystring模块提供了一些实用函数,用于解析与格式换URL查询字符串
通过 const querystring = require(‘querystring'); 的方式引用querystrings模块

目录:

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

querystring.escape(str)

说明:

对给定的 str 进行 URL 编码

demo:

let url= "www.baidu.com?p=xiaoqiang&n=小强";

console.log(querystring.escape(url));
//www.baidu.com%3Fp%3Dxiaoqiang%26n%3D%E5%B0%8F%E5%BC%BA

querystring.unescape(str)

说明:

对给定的 str 进行解码

demo:

let url= "www.baidu.com%3Fp%3Dxiaoqiang%26n%3D%E5%B0%8F%E5%BC%BA";

console.log(querystring.unescape(url));
//www.baidu.com?p=xiaoqiang&n=小强

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

说明:

该方法会把一个 URL 查询字符串 str 解析成一个键值对的集合。
str: 要解析的URL查询字符串window.location.search
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
decodeURIComponent:解码时使用的函数,默认:querystring.unescape()
maxKeys:指定要解析的键的最大数量。默认为 1000。指定为 0 则不限制

demo:

var search = "nickName=xiaoqiang&name=小强&age=23&area=huhot";

var params = querystring.parse(search, '&', '=', { decodeURIComponent: querystring.unescape });

console.log(params);
//{ nickName: 'xiaoqiang', name: '小强', age: '23', area: 'huhot' }

querystring.stringify(obj[, sep[, eq[, options]]])

说明:

该方法通过遍历给定的 obj 对象的自身属性,生成 URL 查询字符串。
obj: 要序列化成 URL 查询字符串的对象
sep: 用于界定serch中键值对的子字符串。默认为 ‘&'
eq: 用于界定serch中键与值的子字符串。默认为 ‘='
options:编码选项
encodeURIComponent:解码时使用的函数,默认:querystring.escape()

demo:

var searchObj = { nickName: 'xiaoqiang', name: '小强', age: '23', area: 'huhot' };

var search = querystring.stringify(searchObj, '&', '=', { decodeURIComponent: querystring.escape });

console.log(search);
//nickName=xiaoqiang&name=%E5%B0%8F%E5%BC%BA&age=23&area=huhot

希望本文所述对大家node.js程序设计有所帮助。

(0)

相关推荐

  • 详解本地Node.js服务器作为api服务器的解决办法

    在看react-native教程的时候,遇到要在手机端调试,需要api服务器,但是由于Node.js自己就作为服务器,没有apache怎么解决这个问题,用apache和nginx也可以解决,但是有点复杂,我们就使用node已有的模块解决这个问题. //服务器端的代码 var express = require('express'); var app = express(); // set up handlebars view engine var handlebars = require('ex

  • Node.js API详解之 tty功能与用法实例分析

    本文实例讲述了Node.js API详解之 tty功能与用法.分享给大家供大家参考,具体如下: tty 可以理解为终端的意思.tty 模块提供终端相关的接口,用来获取终端的行数列数等. 通过 const tty = require('tty'); 的方式引用 tty 模块 process.stdout.isTTY 说明: 此属性位于 process 模块,用来判断 Node.js 是否运行在一个 TTY 环境中 demo: console.log(process.stdout.isTTY) //

  • 30分钟用Node.js构建一个API服务器的步骤详解

    Node.js 对初学者来说可能是令人望而却步的,其灵活的结构和缺乏严格的规范使它看起来很复杂. 本教程是 Node.js,Express 框架和 MongoDB 的快速指南,重点介绍基本的 REST 路由和基本的数据库交互.你将构建一个简单的 API 框架模版,然后可以将其用作任何应用. 本教程适用于:你应该对 REST API 和 CRUD 操作有基本的了解,还有基本的 JavaScript 知识.我用的是 ES6(主要是箭头函数),但并不是很复杂. 在本教程中,我们将为创建一个网络笔记应用

  • node.js中使用q.js实现api的promise化

    关于啥是promise以及promise解决的是啥问题,敬请体验node的回调异步编码大法,顺带移步http://wiki.commonjs.org/wiki/Promises/A 看看是咋定义的,在此不再赘述. 这里我们看看怎么用q.js 实现node api的promise. 一.万事开始皆为install 复制代码 代码如下: npm install q 二.标准node style api 的promise化方法 1.使用Q.nfcall 相对于Q.fcall ,Q.nfcall 就是n

  • Node.js API详解之 string_decoder用法实例分析

    本文实例讲述了Node.js API详解之 string_decoder用法.分享给大家供大家参考,具体如下: string_decoder 模块提供了一个 API,用于把 Buffer 对象解码成字符串. 对于参数末尾不完整的多字节字符,string_decoder会将其保存在内部的buffer中,当再次解码时,补充到参数开头. 通过 const { StringDecoder } = require('string_decoder'); 的方式引用string_decoder模块. 目录:

  • 使用Node.js实现RESTful API的示例

    RESTful基础概念 REST(Representational State Transfer)描述了一个架构样式的网络系统,它首次出现在 2000 年 Roy Fielding 的博士论文中.在REST服务中,应用程序状态和功能可以分为各种资源.资源向客户端公开,客户端可以对资源进行增删改操作.资源的例子有:应用程序对象.数据库记录.算法等等. REST通过抽象资源,提供了一个非常容易理解和使用的API,它使用 URI (Universal Resource Identifier) 唯一表示

  • 浅析Node.js 中 Stream API 的使用

    本文由浅入深给大家介绍node.js stream api,具体详情请看下文吧. 基本介绍 在 Node.js 中,读取文件的方式有两种,一种是用 fs.readFile ,另外一种是利用 fs.createReadStream 来读取. fs.readFile 对于每个 Node.js 使用者来说最熟悉不过了,简单易懂,很好上手.但它的缺点是会先将数据全部读入内存,一旦遇到大文件的时候,这种方式读取的效率就非常低下了. 而 fs.createReadStream 则是通过 Stream 来读取

  • 深入分析node.js的异步API和其局限性

    用异步API的原因 异步的概念之所以首先在Web2.0中火起来,是因为在浏览器中Javascript在单线程上执行,而且他还与UI渲染公用一个线程.这意味着Javascript在执行的时候UI渲染和响应是处于停滞状态的.为了用户体验更好而采取异步的方式(当然,这在所谓的单线程语言中)不阻塞主线程继续响应用户操作.这属于用户体验的范畴. 同样的,如果有其他语言经验的工程师当然也明白,CPU在线程间切换是需要消耗大量的时间的(主要为上下文之间的切换和缓存),所以提高效率也是使用异步API的理由. 当

  • 零基础之Node.js搭建API服务器的详解

    零基础之Node.js搭建API服务器 这篇文章写给那些Node.js零基础,但希望自己动手实现服务器API的前端开发者,尝试帮大家打开一扇门. HTTP服务器实现原理 HTTP服务器之所以能提供前端使用的API,其实现原理是服务器保持监听计算机的某个端口(通常是80),等待客户端请求,当请求到达并经过一系列处理后,服务器发送响应数据给到前端. 平时大家通过Ajax调用API,即是发起一次请求,经过服务器处理后,得到结果,然后再进行前端处理.如今使用高级编程语言,要实现服务器那部分功能已经变得非

  • Node.js原生api搭建web服务器的方法步骤

    node.js 实现一个简单的 web 服务器还是比较简单的,以前利用 express 框架实现过『nodeJS搭一个简单的(代理)web服务器』.代码量很少,可是使用时需要安装依赖,多处使用难免有点不方便.于是便有了完全使用原生 api 来重写的想法,也当作一次 node.js 复习. 1.静态 web 服务器 'use strict' const http = require('http') const url = require('url') const fs = require('fs'

随机推荐