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-11 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
總結
- 上一篇: 如何有效的进行项目进度计划
- 下一篇: 用python模拟微信支付_微信app支