qs文档翻译

安装:

npm install qs --save-dev

基本用法:

 1 let qs = require('qs');
 2 let assert = require('assert');
 3 
 4 
 5 //qs.parse('a=c')将字符串等式转换为对象
 6 let obj = qs.parse('a=c');
 7 console.log(obj)//{a:'c'}
 8 
 9 //qs.stringify(obj)将对象转化为字符串等式
10 let str = qs.stringify(obj);
11 console.log(str)//a=c

解析对象:

qs.parse(string, [options]);

qs可以通过使用[]在查询字符串中创建嵌套的对象

如:

qs.parse('foo[bar]=baz'

等于:

  foo: {bar: 'baz'}

解析URL编码:

qs.parse('a%5Bb%5D=c')

等于:

  a: { b: 'c' }

对象嵌套:

1 qs.parse('foo[bar][baz]=foobarbaz'

结果:

 foo: {bar: {baz: 'foobarbaz'}}

默认情况下,qs可以解析1000个参数,可以通过parameterLimit选项进行设置:

1 var limited = qs.parse('a=b&c=d', { parameterLimit: 1 });
2 // { a: 'b' }

ignoreQueryPrefix:选项,忽略查询字符:

1 var prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true });

结果:

 { a: 'b', c: 'd' }
delimiter分隔符选项:去掉分号:
qs.parse('a=b;c=d', { delimiter: ';' })
//{ a: 'b', c: 'd' }

分隔符可以是正则表达式:

qs.parse('a=b;c=d,e=f', { delimiter: /[;,]/ });//{ a: 'b', c: 'd', e: 'f' }

allowDots 选项:将点.变成对象;

1 qs.parse('a.b=c', { allowDots: true });
2 //{ a: { b: 'c' } }
charset :如果您必须处理旧版浏览器或服务,还支持将百分比编码的八位字节解码为iso-8859-1
1 qs.parse('a=%A7', { charset: 'iso-8859-1' }
2 //{ a: '§' }
解析数组:
qs.parse('a[]=b&a[]=c');
//{ a: ['b', 'c'] }

在解析数组的时候,可以指定index:

1 qs.parse('a[1]=c&a[0]=b')
2 //{ a: ['b', 'c'] }

如果是空值,也将保留:

1 qs.parse('a[]=&a[]=b')
2 //{ a: ['', 'b'] }
1 a[0]=b&a[1]=&a[2]=c
2 // { a: ['b', '', 'c'] }

如果索引超过20,索引将会被看作是key:

1 qs.parse('a[100]=b')
2 //{ a: { '100': 'b' } }

转化为字符串:

qs.stringify(object, [options]);
qs.stringify({ a: 'b' })
//'a=b'

qs.stringify({ a: { b: 'c' } })
//a%5Bb%5D=c
 qs.stringify({ a: { b: 'c' } }, { encode: false })
//a[b]=c
qs.stringify({ a: ['b', 'c', 'd'] })
// 'a[0]=b&a[1]=c&a[2]=d'
qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
// 'a=b&a=c&a=d'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'

 

qs.stringify({ a: { b: { c: 'd', e: 'f' } } });
// 'a[b][c]=d&a[b][e]=f'

 

qs.stringify({ a: { b: { c: 'd', e: 'f' } } }, { allowDots: true });
// 'a.b.c=d&a.b.e=f'
qs.stringify({ a: '' })
//a=

 

qs.stringify({ a: 'b', c: 'd' }, { addQueryPrefix: true })
//'?a=b&c=d'
1 qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' })
2  'a=b;c=d'

 

 

转载于:https://www.cnblogs.com/yangguoe/p/10126067.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lync Server 2010标准版系列PART6:启用Lync

在我们花费了众多的精力和时间之后,我们终于完成了Lync Server标准版的搭建,接下来当然是为我们AD中的用户启用Lync,来看下我们的部署成果。首先我们需要在AD中创建两个帐户,这样便于我们后期的测试,在DC上打开AD用户和…

8位MCU跑RTOS有没有意义?

相信大多数人在学习单片机的时候,都是从最基本的8位MCU开始的。一般来说,8位单片机最常见的是三个系列是:51系列、AVR系列、PIC系列。而前段时间,群里讨论了一个问题:在51单片机上跑RTOS有没有意义?关于这个…

ViewState机制由浅入深1

1 ViewState机制是什么? ViewState机制是asp.net中对同一个Page的多次请求(PostBack)之间维持Page及控件状态的一种机制。在WebForm中每次请求完,Page对象都会被释放,对同一个Page的多次请求之间的状态信息&am…

关于bc中小数点length,scale,(())以及进制转换

这是我在codewar上遇到的一个题,我用我自己的方法做出了解答,如下: 1 #!/bin/bash2 3 distanceecho "$1*10000"|bc|cut -d"." -f14 a05 n16 7 if [ $distance -le 0 ];then8 echo None9 else 10 while [ $n -lt $di…

利用openssl来计算sha1, sha224, sha256, sha384, sha512

转载&#xff1a;http://blog.csdn.net/stpeace/article/details/42371079 利用openssl来计算sha1, sha224, sha256, sha384, sha512&#xff0c;前提是已经配置了openssl的环境&#xff1a; 代码如下&#xff1a; [cpp] view plaincopy #include <iostream> #include…

WCF简单教程(6) 单向与双向通讯

第六篇&#xff1a;单向与双向通讯 项目开发中我们时常会遇到需要异步调用的问题&#xff0c;有时忽略服务端的返回值&#xff0c;有时希望服务端在需要的时候回调&#xff0c;今天就来看看在WCF中如何实现。 先看不需要服务端返回值的单向调用&#xff0c;老规矩&#xff0c;直…

5V串口接3.3V单片机串口怎么搞?

写在前面&#xff1a;两个单片机由于电平不同&#xff0c;串口通信可能会失败&#xff0c;这时候需要通过电平转换电路来解决&#xff0c;本文给出了两种方法&#xff0c;一种是通过三极管搭建&#xff0c;另一种是MOS管搭建&#xff0c;在硬件工程师的笔试中也经常会出现这样的…

Django之缓存、信号和图片验证码

一、 缓存 1、 介绍 缓存通俗来说&#xff1a;就是把数据先保存在某个地方&#xff0c;下次再读取的时候不用再去原位置读取&#xff0c;让访问速度更快。 缓存机制图解 2、Django中提供了6种缓存方式 1. 开发调试   2. 内存   3. 文件   4. 数据库   5. Memcache缓存&…

利用openssl来计算sha256哈希值

先配置openssl, 我就不再赘述了&#xff0c; 直接给出代码&#xff1a; [cpp] view plaincopy #include <iostream> #include <openssl/sha.h> // 如果你直接拷贝我的程序运行&#xff0c; 那注定找不到sha.h #pragma comment(lib, "libeay32.lib") …

CuteEditor6.0使用配置心得体会(转)

CuteEditor是一款功能非常强大&#xff0c;支持图片上传、文件下载和word类似的文字编辑器。并且Vs2003和Vs2005都可以适用。对于新闻发布系统和博客之类的系统&#xff0c;是非常的方便的。对一个刚接触这款编辑器的朋友来说或许会遇到和我一样的许多问题&#xff0c;现在我就…

这焊接技术在班里排名第一没问题吧?

晚上和朋友讨论PCB LAYOUT&#xff0c;然后自己也动手起来了&#xff0c;刚好看到宇哥的一篇焊接的文章&#xff0c;这焊接技术这么厉害的人&#xff0c;layout那不得是吊炸天啊。作者&#xff1a;晓宇&#xff0c;排版&#xff1a;晓宇微信公众号&#xff1a;芯片之家&#xf…

html字符串生成器源代码

#-*-coding:utf-8-*-#-*-coding:big5-*-#-*-coding:cp936-*-import Tkinterimport tkFileDialogimport osimport tkMessageBoximport shutilurlnew""#文件打开def manipuOpen(): url tkFileDialog.askopenfilename(title 打开html文件, #创建打开文件对话框…

一个莫名的人,竞标,教训,韩国女人

今天处理了"竞标公司"的后遗症。 教训&#xff1a;以后千万不要轻易把自己的手机号码留给其他的公司&#xff0c;否则他会不停的骚扰你 认识一个奇怪的人&#xff0c;去了解了他&#xff0c;不知道是男是女&#xff0c;和那个穿韩国衣服的女人一样 以前借了另外一个人…

如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?

转载&#xff1a;http://blog.csdn.net/stpeace/article/details/41922115 openssl的库的用法&#xff0c; 前面已经介绍了&#xff0c; 所以不再啰嗦&#xff0c; 直接给出代码&#xff1a; [cpp] view plaincopy // openssl的库的用法&#xff0c; 前面已经介绍了&#xff0c…

Yocto,嵌入式开发者不可不知的强大工具【附资料与活动】

各个嵌入式开发团队出于不同的原因&#xff0c;都希望构建适合自己开发需求的嵌入式系统。Yocto正是这样一个工具&#xff0c;任何一个厂商都可以根据Yocto定制属于自己的系统。 Yocto 是什么 Yocto 是一种伞式项目&#xff0c;侧重于通过开放式嵌入内核&#xff0c;打造嵌入式…

第四次过程性考核

https://gitee.com/liuji1/fourth_process_assessment (一) 问题&#xff1a;使用套接写连接编写一个简单的聊天室程序&#xff0c;客户端主函数放在Client_Main.java文件中&#xff0c;服务器端主函数放在Server_Main.java文件中 (二) 要求&#xff1a; 1.客户端从控制台进行…

Linux内核源代码分析-目录

第一部分 Linux 内核源代码 arch/i386/kernel/entry.S 2 arch/i386/kernel/init_task.c 8 arch/i386/kernel/irq.c 8 arch/i386/kernel/irq.h 19 arch/i386/kernel/process.c 22 arch/i386/kernel/signal.c 30 arch/i386/kernel/smp.c 38 arch/i386/kernel/time.c 58 arch/i386…

[转贴]怎样规划你毕业以后的人生

我自己呢&#xff0c;先是在国营的研究所混了4年&#xff0c;后来到一家公司干了6年&#xff0c;2002年出来自己做公司&#xff0c;现在也就是混了一个温饱吧&#xff0c;算是有房有车&#xff0c;有点积蓄&#xff0c;但是不多&#xff0c;还有一个可爱的女儿。回首这10来年&a…

几种常用加密算法比较

由于计算机软件的非法复制&#xff0c;通信的泄密、数据安全受到威胁&#xff0c;解密及盗版问题日益严重&#xff0c;甚至引发国际争端&#xff0c;所以在信息安全技术中&#xff0c;加密技术占有不可替代的位置&#xff0c;因此对信息加密技术和加密手段的研究与开发&#xf…

python BeautifulSoup 爬虫运行出现 exited with code -1073741571

首先&#xff0c;exited with code -1073741571意思是栈溢出。具体可以看https://blog.csdn.net/vblittleboy/article/details/6613815 它的前一个错误是程序递归深度过深。 但我没有在函数里用递归&#xff1f; python认为你进入一个函数就进入更深一层的递归。 import sys#出…