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

(编辑:jimmy 日期: 2024/11/16 浏览:2)

本文实例讲述了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";
 
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"font-size: medium">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程序设计有所帮助。

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。