相信上一章的讲解,相信大家对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处理参数小利器的更多相关文章

  1. 爬虫 http原理,梨视频,github登陆实例,requests请求参数小总结

    回顾:http协议基于请求响应的方式,请求:请求首行 请求头{'keys':vales} 请求体 :响应:响应首行,响应头{'keys':'vales'},响应体. import socket soc ...

  2. compareTo 返回为整数 调用者比参数大;返回负数 调用者比参数小

    compareTo 返回为整数 调用者比参数大;返回负数 调用者比参数小

  3. QueryString 地址栏参数

    MXS&Vincene  ─╄OvЁ  &0000002 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  4. node.js基础 1之 Querystring参数处理小利器

    在处理查询字符串中很有用(⊙o⊙)哦~~~ querystring.stringify(obj,sign1,sign2)//将对象转化成url中query部分的形式 参数:1.要转化的对象 2.链接符 ...

  5. 解析查询 queryString 请求参数的函数

    quety string 请求参数 本质上可以理解为一种序列化的格式,与 json 类似,它是一种字典类型的容器,里面可以保存键值对(key-value pair).只不过 querystring 这 ...

  6. 【总结】办公&编程&学习你可能需要这些小利器!

    偶然想到自己从最开始的编程小白,什么都不懂,看啥啥新鲜的时期,到现在颇有"蓦然回首,那人却在灯火阑珊处"的感觉,遂想整理一下这一路学习我个人发现的在办公.编程或者学新知识等方面针对 ...

  7. node.js querystring处理参数

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

  8. flask 接收参数小坑

    前后端分离: 1.get方式: items = dict(request.args.items()) app_name = items["app_name"].strip() 或 ...

  9. 启动 jvm 参数小总结

    1.启动某项目 nohup java -jar -Xms256m -Xmx512m -Dspring.config.location=/config/application.yml -Dfile.en ...

随机推荐

  1. python模块之wordcloud

    wordcloud官方文档: http://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html#wordcloud.Wor ...

  2. Linux用户登录信息

    1.用户登录日志信息 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间: /var/log/wtmp:记录当前正在登录和 ...

  3. vue.js依赖安装和引入

    在项目开发过程中我们要安需安装依赖,安装方法 1.可以在项目的package.json文件中的dependencies写入依赖名称和依赖版本,然后打开命令行工具进入项目运行vue install安装 ...

  4. java——编译和运行

    Java源代码---->编译器---->Java字节码(即虚拟指令..class文件.特殊的二进制文件.二进制字节码文件)---->jvm---->解释器(jvm的一部分)-- ...

  5. 常见的几种web攻击方式

    一.Dos攻击(Denial of Service attack) 是一种针对服务器的能够让服务器呈现静止状态的攻击方式.有时候也加服务停止攻击或拒绝服务攻击.其原理就是发送大量的合法请求到服务器,服 ...

  6. 3d Max 2015安装失败怎样卸载3dsmax?错误提示某些产品无法安装

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  7. tcp的半连接与完全连接队列(三)源码分析

    TCP 协议中的 SYN queue 和 accept queue 处理 若要理解本文意图说明的问题,可能需要以下知识背景: listen 系统调用的 backlog 参数含义,以及与 net.cor ...

  8. python单元测试框架-unittest(一)

    简介 unittest单元测试框架不仅可以适用于单元测试,还可以使用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. ...

  9. LeetCode 870.优势洗牌(C++)

    给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 1: 输入: ...

  10. script脚本中写不写$(document).ready(function() {});的区别

    $(document).ready() 里的代码是在页面内容都加载完才执行的,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,此时如果你标签里执行的代码调用 ...