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
赋值一个函数来重写解码的实现。字符串