querystring处理参数小利器
相信上一章的讲解,相信大家对url地址有一个更直观的认识,在url解析的时候可以用querystring这样一个module替换,然后对这个
query集成一个对象,这里不管是前端开发还是后端开发,都常常,常常碰到的一个场景,就是参数的处理,我们需要传递不同用途的参数
添加到url地址中,发送给服务器,而服务器拿到的是是一个字符串的这样的参数串,它不知道个数,也不知道参数名和参数值,那就需要
一个途径把参数名一个一个的拎出来,放到对象里面,我们可以遍历这个对象,也可以直接获取这个值,
接下来依然是到官方文档中,看下querystring的用法,官方文档比较简单

那我们直接在命令行里面演示一下就ok了
stringify()
首先看下怎么把参数这样的一个对象,给序列号成一个字符串
我们看到的是一个序列化后的字符串,第二个参数就是连接符,就是参数与参数之间的连接符,默认是&,假如说换成,

就变成了这样的一个效果,第三个参数就是这个key与value之间的这个=可以替换成什么值,或者说什么符号,比如我替换成:

就是这样的一个效果,所以这个是比较灵活的,可以根据需求来改
parse()
然后既然可以序列化,就可以反序列化,怎么来反序列化,我们同样通过这个querystring它的一个parse来进行反序列化的解析
第一个参数就是用来反序列化的一个字符串

可以看到上面意境发序列化成一个对象了
它也可以传递第二个参数,这个第二个参数呢就是,如果字符串里面不是&和=,直接解析就无法拿到正确的结果

上面就不是我们想要的,那么第二个参数就是要告诉parse,我们是通过,来分隔的,第三个参数告诉parse,key和value之间是由:分隔的

这样,我们就得到了想要的结果
escape()和unescape()
接下来还剩escape()和unescape(),也就是转义和反转义

如上,输入汉字,被转义成了这么一堆字符
那么再通过unescape()进行反转义就能够把反转义回来

那么querystring也是特别的好用,尤其是在我们要应对这种大量参数传递的场景,就可以帮助我们节省很多的时间,能够快速的反应这个
需求,算是快速处理参数的小利器
querystring处理参数小利器的更多相关文章
- 爬虫 http原理,梨视频,github登陆实例,requests请求参数小总结
回顾:http协议基于请求响应的方式,请求:请求首行 请求头{'keys':vales} 请求体 :响应:响应首行,响应头{'keys':'vales'},响应体. import socket soc ...
- compareTo 返回为整数 调用者比参数大;返回负数 调用者比参数小
compareTo 返回为整数 调用者比参数大;返回负数 调用者比参数小
- QueryString 地址栏参数
MXS&Vincene ─╄OvЁ &0000002 ─╄OvЁ MXS&Vincene MXS&Vincene ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...
- node.js基础 1之 Querystring参数处理小利器
在处理查询字符串中很有用(⊙o⊙)哦~~~ querystring.stringify(obj,sign1,sign2)//将对象转化成url中query部分的形式 参数:1.要转化的对象 2.链接符 ...
- 解析查询 queryString 请求参数的函数
quety string 请求参数 本质上可以理解为一种序列化的格式,与 json 类似,它是一种字典类型的容器,里面可以保存键值对(key-value pair).只不过 querystring 这 ...
- 【总结】办公&编程&学习你可能需要这些小利器!
偶然想到自己从最开始的编程小白,什么都不懂,看啥啥新鲜的时期,到现在颇有"蓦然回首,那人却在灯火阑珊处"的感觉,遂想整理一下这一路学习我个人发现的在办公.编程或者学新知识等方面针对 ...
- node.js querystring处理参数
C:\Documents and Settings\Administrator\WebstormProjects\untitled6>node> url{ parse: [Function ...
- flask 接收参数小坑
前后端分离: 1.get方式: items = dict(request.args.items()) app_name = items["app_name"].strip() 或 ...
- 启动 jvm 参数小总结
1.启动某项目 nohup java -jar -Xms256m -Xmx512m -Dspring.config.location=/config/application.yml -Dfile.en ...
随机推荐
- spring 通过beanDefinition注册自定义规则的bean
目的: 扫描某个自定义注解标注的类, 或者自定义xml 为这些类生成spring Bean 基本原理:org.springframework.beans.factory.support.Default ...
- 2013 New available ICOM A2 Diagnostic & Programming For BMW ICOM A2+B+C
AUTONUMEN.COM offer best price New ICOM A2 Diagnostic & Programming For BMW ICOM A2+B+C. bmw ico ...
- SElinux学习记录
1.SELinux:是一种基于域类型模型的强制访问控制安全系统,由NSA编写设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SE Linux补丁 查看Selinux: ps -Z #查看S ...
- Git命令行中文显示错误
中文文件名乱码(git status.git log.git pull .git push) #不对0x80以上的字符进行quote,解决git status/commit时中文文件名乱码git co ...
- edis Cluster实现原理
一.Redis Cluster主要特性和设计 集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点:Cluster架构中无Proxy层,Master与slave之间使用异步replic ...
- pandas DataFrame数据转为list
dfpath=df[df['mm'].str.contains('20180122\d')].values dfplist=np.array(dfpath).tolist()
- 闲里偷忙的CPU-某个kwoker进程忙
https://zhuanlan.zhihu.com/p/34311472 有一类比较特殊的CPU使用率问题,这类问题的特点是,系统平均CPU使用率很低,但是个别CPU的使用率非常高.今天借助这个真实 ...
- pat1041. Be Unique (20)
1041. Be Unique (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Being uniqu ...
- DB2去重复的几种方法
DB2去重的几种方法 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 例如下表:tabl ...
- Myeclipse修改jdk版本流程
Myeclipse修改jdk版本流程 很多时候,项目没有用对jdk版本时候,项目报错,在MyEclipse中,要修改JDK版本 有三处地方需要注意:!! 1.第一处 2.第二处 3.第三处