Nodejs--querystring (URL 查詢字符串)

querystring 模塊提供了一些實用函數,用於解析與格式化 URL 查詢字符串函數

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

  • str <string> 要解析的 URL 查詢字符串。
  • sep <string> 用於界定查詢字符串中的鍵值對的子字符串。默認爲 '&'
  • eq <string> 用於界定查詢字符串中的鍵與值的子字符串。默認爲 '='
  • options <Object>
    • decodeURIComponent <Function> 解碼查詢字符串的字符時使用的函數。默認爲 querystring.unescape()
    • maxKeys <number> 指定要解析的鍵的最大數量。默認爲 1000。指定爲 0 則不限制。

該方法會把一個 URL 查詢字符串 str 解析成一個鍵值對的集合。編碼

例子,查詢字符串 'foo=bar&abc=xyz&abc=123' 被解析成:

{
  foo: 'bar',
  abc: ['xyz', '123']
}

 

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

該方法經過遍歷給定的 obj 對象的自身屬性,生成 URL 查詢字符串。spa

  • obj <Object> 要序列化成 URL 查詢字符串的對象。
  • sep <string> 用於界定查詢字符串中的鍵值對的子字符串。默認爲 '&'
  • eq <string> 用於界定查詢字符串中的鍵與值的子字符串。默認爲 '='
  • options
    • encodeURIComponent <Function> 把對象中的字符轉換成查詢字符串時使用的函數。默認爲 querystring.escape()
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
// 返回 'foo=bar&baz=qux&baz=quux&corge='

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

默認狀況下,使用 UTF-8 進行編碼。 若是須要使用其餘編碼,則須要指定 encodeURIComponent 選項,例如:

// 假設存在 gbkEncodeURIComponent 函數。
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
                      { encodeURIComponent: gbkEncodeURIComponent });

 

querystring.escape(str)

對給定的 str 進行 URL 編碼。code

該方法是提供給 querystring.stringify() 使用的,一般不直接使用。 它之因此對外開放,是爲了在須要時能夠經過給 querystring.escape 賦值一個函數來重寫編碼的實現對象

 

querystring.unescape(str)

對給定的 str 進行解碼。ip

該方法是提供給 querystring.parse() 使用的,一般不直接使用。 它之因此對外開放,是爲了在須要時能夠經過給 querystring.unescape 賦值一個函數來重寫解碼的實現。字符串

相關文章
相關標籤/搜索