Node.js Query Strings

2022-02-26 10:29 更新

本節(jié)為你介紹Node.js Query Strings。

穩(wěn)定性: 3 - 穩(wěn)定

該Node.js模塊提供了一些處理query strings的工具,你可以通過以下方式訪問它:

const querystring = require('querystring');

Node.js Query Strings包含的方法如下:

querystring.stringify(obj[, sep][, eq][, options])

該方法可以將一個對象序列化化為一個query string 。

可以選擇重寫默認(rèn)的分隔符('&') 和分配符 ('=')。

Options對象可能包含encodeURIComponent屬性 (默認(rèn):querystring.escape),如果需要,它可以用non-utf8編碼字符串。

例子:

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
// returns
'foo=bar&baz=qux&baz=quux&corge='

querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
// returns
'foo:bar;baz:qux'

// Suppose gbkEncodeURIComponent function already exists,
// it can encode string with `gbk` encoding
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
  { encodeURIComponent: gbkEncodeURIComponent })
// returns
'w=%D6%D0%CE%C4&foo=bar'

querystring.parse(str[, sep][, eq][, options])

該方法可以將query string反序列化為對象。

你可以選擇重寫默認(rèn)的分隔符('&') 和分配符 ('=')。

Options對象可能包含maxKeys屬性(默認(rèn):1000),用來限制處理過的健值(keys)。設(shè)置為0的話,可以去掉鍵值的數(shù)量限制。

Options 對象可能包含decodeURIComponent屬性(默認(rèn):querystring.unescape),如果需要,可以用來解碼non-utf8編碼的字符串。

例子:

querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

// Suppose gbkDecodeURIComponent function already exists,
// it can decode `gbk` encoding string
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
  { decodeURIComponent: gbkDecodeURIComponent })
// returns
{ w: '中文', foo: 'bar' }

querystring.escape

escape函數(shù)供querystring.stringify使用,必要時,可以重寫。

querystring.unescape

unescape函數(shù)供querystring.parse使用。必要時,可以重寫。

首先會嘗試用decodeURIComponent,如果失敗,會回退,不會拋出格式不正確的URLs。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號