时间:2021-05-26
前言
查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
一、querystring.parse(str[, sep[, eq[, options]]])
这个API将URL查询字符串解析为键和值的集合
例子如下:
const querystring = require('querystring');const url = require('url');var queryUrl="http://localhost:8888/bb?name=李浩&memo=helloworld&memo=helloC";queryUrl=url.parse(queryUrl).query;console.log(querystring.parse(queryUrl)) ;----------------------------------------------------// 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }带参数的例子:
const querystring = require('querystring');const url = require('url');var queryUrl="http://localhost:8888/bb?name==李浩*memo==helloworld*memo==helloC";queryUrl=url.parse(queryUrl).query;console.log(querystring.parse(queryUrl,'*','==')) ; ----------------------------------------------------// 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }二、querystring.stringify(obj[, sep[, eq[, options]]])
这个API从一个给定的对象中生成一个URL查询字符串,通过遍历对象“自己的属性”。
例子如下:
const qs=require("querystring");var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }console.log( qs.stringify(obj))带参数的例子:
const qs=require("querystring");var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }console.log( qs.stringify(obj,'@','=='))输出 name==%E6%9D%8E%E6%B5%A9@memo==helloworld@memo==helloC;
相信应该看出了带参数和不带参数的区别了吧
三、querystring.unescape(str)
这个API是对URL查询字符串中的URL进行解码的,例如上面我们进行stringify操作的时候,中文就会被编码,那么中文在URL中的时候也会被解析为编码后的样子,这个API一般配合querystring.parse()使用
我们就拿上面中文出现编码的URL查询字符串来举例
例子如下:
const qs = require("querystring");var url = "name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC"var normalStr = qs.unescape(url)console.log( qs.parse(normalStr))//输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }四、querystring.escape(str)
这个API相当于就是querystring.unescape(str)的逆向操作了,把中文编码,常和querystring.stringify()连同使用
var obj = { name: '李浩', memo: ['helloworld', 'helloC'] };console.log( qs.escape( qs.stringify(obj) ))// 输出 name%3D%25E6%259D%258E%25E6%25B5%25A9%26memo%3Dhelloworld%26memo%3DhelloC//连同&和=一起编码了总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前几天谈了正则匹配js字符串的问题:《js正则学习小记之匹配字符串》和《js正则学习小记之匹配字符串优化篇》。里面讲到了优化正则起到提升性能的问题,但是能提升多
本文实例讲述了node.js读取文件到字符串的方法。分享给大家供大家参考。具体分析如下:Node.js是一套用来编写高性能网络服务器的JavaScript工具包
测试用例分为用函数和类来进行一个大字符串的字符逐一读取。测试代码Node.js函数varfs=require("fs");varcontent=fs.readF
Node.js是一个开源JavaScript运行时环境。在这里,您将学习如何在CentOS8服务器上安装Node.js。什么是Node.js?Node.js是一
Linux使用Node.js建立访问静态网页的服务实例详解一、安装node.js运行所需要的环境,:二、创建node目录(/node/www),并在目录下创建n