Query String 查询字串


Query String 查询字串

此模块能处理查询字串(query strings),提供以下方法:

querystring.stringify(obj, sep='&', eq='=', munge=true)

序列化对象至查询字串。选择性地覆写默认分割符和增补字符(assignment characters)。 例子:

querystring.stringify({foo: 'bar'})
// returns
'foo=bar'
querystring.stringify({foo: 'bar', baz: 'bob'}, ';', ':')
// returns
'foo:bar;baz:bob'

此方法默认由阵列和对象(obj)排列成PHP/Rails 风格的查询字串,例子:

querystring.stringify({foo: ['bar', 'baz', 'boz']})
// returns
'foo%5B%5D=bar&foo%5B%5D=baz&foo%5B%5D=boz'
querystring.stringify({foo: {bar: 'baz'}})
// returns
'foo%5Bbar%5D=baz'

若希望停用字元解析(例如当生成参数予Java servlet 时),可以设置munge(字元解析) 参数成false(假值),例 子:

querystring.stringify({foo: ['bar', 'baz', 'boz']}, '&', '=', false)
// returns
'foo=bar&foo=baz&foo=boz'

注意当munge(字元解析) 为false 时,参数名称仍会被解析。

querystring.parse(str, sep='&', eq='=')

反序列化查询字串至对象。选择性地覆写默认分割符和增补字符 (assignment characters)。

querystring.parse('a=b&b=c')
// returns
{ 'a': 'b'
, 'b': 'c'
}

这方法可以解析已解析和未解析的查询字串。

querystring.escape

querystring.stringify 中所使用的escape 方法。您可以覆写它。

querystring.unescape

querystring.parse 中所使用的unescape 方法。您可以覆写它。