鍍金池/ 教程/ HTML/ Query String
punycode
Zlib
V8
Debugger
Readline
DNS
File System
util
Query String
Assert
執(zhí)行<code>JavaScript</code>
Console
Errors
Events
Timers
HTTP
Child Process
Buffer
Stream
Path
Modules
net
REPL
process
Global Objects
Crypto
StringDecoder
TTY
TLS (SSL)
OS
HTTPS
UDP / Datagram Sockets
Cluster
URL

Query String

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

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

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

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

options對(duì)象可以包含encodeURIComponent屬性(默認(rèn)為querystring.escape),它被用來(lái)在需要時(shí),將字符串編碼為非 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])

反序列化一個(gè)查詢字符串為一個(gè)對(duì)象??梢钥蛇x地覆蓋默認(rèn)的分隔符('&')和賦值符號(hào)('=')。

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

options可以包含decodeURIComponent屬性(默認(rèn)為querystring.unescape),它被用來(lái)在需要時(shí),解碼非 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ù),在需要時(shí)可以被覆蓋。

querystring.unescape

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

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

上一篇:net下一篇:Console