querystring 模塊提供了一些實用函數,用於解析與格式化 URL 查詢字符串函數
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'] }
該方法經過遍歷給定的 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 });
str
<string>對給定的 str
進行 URL 編碼。code
該方法是提供給 querystring.stringify()
使用的,一般不直接使用。 它之因此對外開放,是爲了在須要時能夠經過給 querystring.escape
賦值一個函數來重寫編碼的實現。對象
str
<string>對給定的 str
進行解碼。ip
該方法是提供給 querystring.parse()
使用的,一般不直接使用。 它之因此對外開放,是爲了在須要時能夠經過給 querystring.unescape
賦值一個函數來重寫解碼的實現。字符串