Introduction to Query-String
Manipulating query strings is an essential aspect of web development, enabling the delivery of dynamic and personalized content. In this comprehensive guide, we explore various query-string APIs, diving into their functionalities with practical examples to enhance your understanding and SEO performance.
Parsing Query Strings
To parse a query string into an object representation:
const queryString = require('query-string');
const parsed = queryString.parse('foo=bar&abc=xyz&abc=123');
console.log(parsed);
// Output: { foo: 'bar', abc: ['xyz', '123'] }
Stringifying Objects
To convert an object into a query string:
const obj = { foo: 'bar', abc: ['xyz', '123'] };
const stringified = queryString.stringify(obj);
console.log(stringified);
// Output: 'foo=bar&abc=xyz&abc=123'
Customizing Delimiters
Customize the delimiter used in query strings:
const obj = { foo: 'bar', abc: '123' };
const stringified = queryString.stringify(obj, { delimiter: ';' });
console.log(stringified);
// Output: 'foo=bar;abc=123'
Handling Arrays
To parse and stringify arrays:
const parsed = queryString.parse('foo=bar&arr=one&arr=two');
console.log(parsed);
// Output: { foo: 'bar', arr: ['one', 'two'] }
const stringified = queryString.stringify({ foo: 'bar', arr: ['one', 'two'] });
console.log(stringified);
// Output: 'foo=bar&arr=one&arr=two'
Optional Query String Prefix
Remove the leading question mark if so desired:
const obj = { foo: 'bar', abc: '123' };
const stringified = queryString.stringify(obj, { skipNull: true });
console.log(stringified);
// Output: 'foo=bar&abc=123'
Building URLs
Combine query strings with URLs:
const queryString = require('query-string');
const url = 'http://example.com';
const params = { foo: 'bar', abc: 'xyz' };
const completeUrl = queryString.stringifyUrl({ url, query: params });
console.log(completeUrl);
// Output: 'http://example.com?foo=bar&abc=xyz'
Application Example
Here’s a practical application of the above methods in a simple express app:
const express = require('express');
const queryString = require('query-string');
const app = express();
app.get('/', (req, res) => {
const parsedQuery = queryString.parse(req.query);
res.json(parsedQuery);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
With the methods demonstrated in this article, you can effectively handle query strings in your projects, improving SEO and delivering a better user experience.
Hash: f534aa8f750a564bd962ebc7d4a19074bfb46c41f48da3897918d1ab29e4df0b