qs文档翻译
安装:
npm install qs --save-dev
基本用法:
let qs = require('qs');
let assert = require('assert');
//qs.parse('a=c')将字符串等式转换为对象
let obj = qs.parse('a=c');
console.log(obj)//{a:'c'}
//qs.stringify(obj)将对象转化为字符串等式
let str = qs.stringify(obj);
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' }
对象嵌套:
qs.parse('foo[bar][baz]=foobarbaz'
结果:
foo: {
bar: {
baz: 'foobarbaz'
}
}
默认情况下,qs可以解析1000个参数,可以通过parameterLimit选项进行设置:
var limited = qs.parse('a=b&c=d', { parameterLimit: 1 });
// { a: 'b' }
ignoreQueryPrefix:选项,忽略查询字符:
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 选项:将点.变成对象;
qs.parse('a.b=c', { allowDots: true });
//{ a: { b: 'c' } }
charset :如果您必须处理旧版浏览器或服务,还支持将百分比编码的八位字节解码为iso-8859-1
qs.parse('a=%A7', { charset: 'iso-8859-1' }
//{ a: '§' }
解析数组:
qs.parse('a[]=b&a[]=c');
//{ a: ['b', 'c'] }
在解析数组的时候,可以指定index:
qs.parse('a[1]=c&a[0]=b')
//{ a: ['b', 'c'] }
如果是空值,也将保留:
qs.parse('a[]=&a[]=b')
//{ a: ['', 'b'] }
a[0]=b&a[1]=&a[2]=c
// { a: ['b', '', 'c'] }
如果索引超过20,索引将会被看作是key:
qs.parse('a[100]=b')
//{ 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'
qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' })
'a=b;c=d'
qs文档翻译的更多相关文章
- 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的
感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...
- Hibernate 3.3.2 文档翻译 Day01
Hibernate 3.3.2 文档翻译 翻译人:微冷的雨 第一次书写:2015年11月29日 本人呕心沥血之作,请细心阅读领悟! Day01-1.1 项目描述 微冷的雨翻译:例如,我们将要建立一个可 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...
- SQLAlchemy 中文文档翻译计划
SQLAlchemy 中文文档翻译计划已启动. Python 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质.交流群:467338606. 希望大家能够勇敢地去翻译和改进翻译.虽然我 ...
- ZOJ1586 QS Network
QS Network Time Limit: 2 Seconds Memory Limit: 65536 KB Sunny Cup 2003 - Preliminary Round Apri ...
- Laravel 5.3 中文文档翻译完成
经过一个多月的紧张翻译和校对,翻译完成.以下是参与人员: Laravel 5.3 中文文档翻译完成 稿源:七星互联www . qixoo.com 文档地址在此:https://laravel-chin ...
- 蓝牙4.0——Android BLE开发官方文档翻译
ble4.0开发整理资料_百度文库 http://wenku.baidu.com/link?url=ZYix8_obOT37JUQyFv-t9Y0Sv7SPCIfmc5QwjW-aifxA8WJ4iW ...
- 2014年QS世界大学排名
新浪教育[微博]讯 近日2014QS世界大学排行榜发布,榜单前十强均为英美名校.其中麻省理工大学以绝对优势位居榜首:英国剑桥大学及帝国理工学院并列排名第二:哈佛大学较去年而言名次略微下降,跌至第四. ...
随机推荐
- (原+转)Ubuntu16.04软件中心闪退及wifi消失
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6321889.html 参考网址: http://blog.csdn.net/felcon/articl ...
- 树莓派进阶之路 (012) - 关于Raspberry Pi树莓派无线网卡配置
Raspberry Pi树莓派无线网卡配置[多重方法备选] 要想让树莓派方便操作,肯定需要配置无线网卡,这样可以大大增强树莓派的移动性和便利性,其实配置无线网卡基本就是和普通linux平台下配置无线网 ...
- ubuntu下制作u盘启动盘
ubuntu12.04下成功制作了ubuntu13.10 U盘启动盘. 成功 ubuntu14.04下成功制作了centos.7 U盘启动盘.成功 1.安装u盘制作工具unetbootin sudo ...
- Andoird通信之简单聊天ChatApp
Android通信,大体上的逻辑是跟Java上的通信是差不多的,只是因为Android线程不能直接访问UI界面组件,所以在处理的时候有些麻烦,只要是通过Handle处理. 接下来是一个简单地手机聊天A ...
- SqlServer2005 海量数据 数据表分区解决难题
超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算.而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长.这不但影响着数据库的运行效率,也增大数据库的维护难度.除了表的数据量外,对表 ...
- OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...
- getOutputStream() 的问题
小谢叫我看一下01服务器上的医药平台,说抛了很多异常出来,看一下,大部分都是因为登录的时候验证码那个JSP页面抛出的getOutputStream() has already been called ...
- Lomboz插件
2008年05月20日 星期二 下午 01:47 Lomboz是Eclipse的一个主要的开源插件(open-source plug-in),Lomboz插件能够使Java开发者更好的使用Eclips ...
- table中background背景图片自动拉伸
<table background="login/image/jiaozhouwan.jpg" style="background-size: 100% 100% ...
- stm32定时器主从模式
TIM2作master:TIM3,TIM4作slave 定时器2事件更新被用作触发输出TRGO 从定时器TIM3,TIM4工作在从模式:门控模式 触发选择设为:ITR1,这样TIM2的TRGO就连到了 ...