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'

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM