Parse and stringify URL query strings
$ npm install --save query-string
$ bower install --save query-string
$ component install sindresorhus/query-string
console.log(location.search);
// ?foo=bar
var parsed = queryString.parse(location.search);
console.log(parsed);
// {foo: 'bar'}
console.log(location.hash);
// #token=bada55cafe
var parsedHash = queryString.parse(location.hash);
console.log(parsedHash);
// {token: 'bada55cafe'}
parsed.foo = 'unicorn';
parsed.ilike = 'pizza';
location.search = queryString.stringify(parsed);
console.log(location.search);
// ?foo=unicorn&ilike=pizza
Parse a query string into an object. Leading ?
or #
are ignored, so you can pass location.search
or location.hash
directly.
Stringify an object into a query string.
This module intentionally doesn't support nesting as it's not specced and varies between implementations, which causes a lot of edge cases.
You're much better off just converting the object to a JSON string:
queryString.stringify({
foo: 'bar',
nested: JSON.stringify({
unicorn: 'cake'
})
});
// foo=bar&nested=%7B%22unicorn%22%3A%22cake%22%7D