Introduction to Query String
The query-string JavaScript library is a powerful tool designed to parse and stringify URL query strings. This allows developers to efficiently manage URL parameters, enhancing the functionality of web applications.
1. Parsing Query Strings
Convert a query string into a JavaScript object using the parse
method.
const queryString = require('query-string');
const parsed = queryString.parse('?foo=bar&abc=xyz&abc=123');
console.log(parsed);
// Output: { foo: 'bar', abc: ['xyz', '123'] }
2. Stringifying Objects
Convert a JavaScript object into a query string with the stringify
method.
const queryString = require('query-string');
const stringified = queryString.stringify({ foo: 'bar', abc: ['xyz', '123'] });
console.log(stringified);
// Output: 'foo=bar&abc=xyz&abc=123'
3. Parsing Arrays
Handle arrays in query strings seamlessly.
const queryString = require('query-string');
const parsed = queryString.parse('?ids=1,2,3');
console.log(parsed);
// Output: { ids: ['1', '2', '3'] }
4. Nested Objects
Parse and stringify nested objects effectively.
const queryString = require('query-string');
const parsed = queryString.parse('?user[name]=John&user[age]=30');
console.log(parsed);
// Output: { user: { name: 'John', age: '30' } }
const stringified = queryString.stringify({ user: { name: 'John', age: 30 } });
console.log(stringified);
// Output: 'user%5Bname%5D=John&user%5Bage%5D=30'
5. Sorting Keys
Sort keys in a query string by enabling the sort option.
const queryString = require('query-string');
const stringified = queryString.stringify({ b: 'world', a: 'hello' }, { sort: true });
console.log(stringified);
// Output: 'a=hello&b=world'
6. Parsing Booleans
Convert query string values to booleans automatically.
const queryString = require('query-string');
const parsed = queryString.parse('?active=true&admin=false');
console.log(parsed);
// Output: { active: 'true', admin: 'false' }
Example Application
Below is an example of a simple Express.js application that uses query-string to manage URL parameters.
const express = require('express');
const queryString = require('query-string');
const app = express();
app.get('/search', (req, res) => {
const parsedQuery = queryString.parse(req.url.split('?')[1]);
res.send(`Parsed Query: ${JSON.stringify(parsedQuery)}`);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
With query-string, managing URL parameters becomes a breeze, improving your web application’s functionality and SEO.
Hash: f534aa8f750a564bd962ebc7d4a19074bfb46c41f48da3897918d1ab29e4df0b