IO.js Query Strings

2018-11-28 22:35 更新

穩(wěn)定度: 2 - 穩(wěn)定

這個模塊提供了處理 查詢字符串 的工具。它提供了以下方法:

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

序列化一個對象為一個查詢字符串??梢钥蛇x地覆蓋默認的分隔符('&')和賦值符號('=')。

options對象可以包含encodeURIComponent屬性(默認為querystring.escape),它被用來在需要時,將字符串編碼為非utf-8編碼。

例子:

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])

反序列化一個查詢字符串為一個對象。可以可選地覆蓋默認的分隔符('&')和賦值符號('=')。

options可以包含maxKeys屬性(默認為1000)。它被用來限制被處理的鍵。將其設(shè)置為0會移除限制。

options可以包含decodeURIComponent屬性(默認為querystring.unescape),它被用來在需要時,解碼非uft8編碼字符串。

例子:

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

querystring.stringify使用的轉(zhuǎn)義函數(shù),在需要時可以被覆蓋。

querystring.unescape

querystring.parse使用的反轉(zhuǎn)義函數(shù),在需要時可以被覆蓋。

首先它會嘗試使用decodeURIComponent,但是如果失敗了,它就轉(zhuǎn)而使用一個不會在畸形URL上拋出錯誤的更安全的等價方法。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號