0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-29 15:06:33 +01:00
nodejs/doc/api/querystring.markdown

70 lines
2.1 KiB
Markdown
Raw Normal View History

2012-02-27 20:09:34 +01:00
# Query String
Stability: 2 - Stable
2012-02-27 20:09:34 +01:00
<!--name=querystring-->
2010-10-28 14:18:16 +02:00
This module provides utilities for dealing with query strings.
It provides the following methods:
2010-10-28 14:18:16 +02:00
## querystring.stringify(obj[, sep][, eq][, options])
2010-10-28 14:18:16 +02:00
Serialize an object to a query string.
Optionally override the default separator (`'&'`) and assignment (`'='`)
characters.
2010-10-28 14:18:16 +02:00
Options object may contain `encodeURIComponent` property (`querystring.escape` by default),
it can be used to encode string with `non-utf8` encoding if necessary.
2010-10-28 14:18:16 +02:00
Example:
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
2010-10-28 14:18:16 +02:00
// returns
'foo=bar&baz=qux&baz=quux&corge='
2010-10-28 14:18:16 +02:00
querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
2010-10-28 14:18:16 +02:00
// returns
'foo:bar;baz:qux'
2010-10-28 14:18:16 +02:00
// 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])
2010-10-28 14:18:16 +02:00
Deserialize a query string to an object.
Optionally override the default separator (`'&'`) and assignment (`'='`)
characters.
2010-10-28 14:18:16 +02:00
Options object may contain `maxKeys` property (equal to 1000 by default), it'll
be used to limit processed keys. Set it to 0 to remove key count limitation.
Options object may contain `decodeURIComponent` property (`decodeURIComponent` by default),
it can be used to decode `non-utf8` encoding string if necessary.
2010-10-28 14:18:16 +02:00
Example:
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
2010-10-28 14:18:16 +02:00
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
2010-10-28 14:18:16 +02:00
// 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' }
2012-02-27 20:09:34 +01:00
## querystring.escape
2010-10-28 14:18:16 +02:00
The escape function used by `querystring.stringify`,
provided so that it could be overridden if necessary.
2010-10-28 14:18:16 +02:00
2012-02-27 20:09:34 +01:00
## querystring.unescape
2010-10-28 14:18:16 +02:00
The unescape function used by `querystring.parse`,
provided so that it could be overridden if necessary.