Bird
Raised Fist0
Node.jsframework~5 mins

Parsing query strings in Node.js

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Parsing query strings helps you get the information sent in a URL after the question mark. This lets your program understand what the user wants.

When you want to read search terms from a URL like '?search=shoes'.
When you need to get filters or options from a URL, like '?color=red&size=10'.
When handling form data sent via GET method in a web app.
When building APIs that accept parameters in the URL query.
When logging or debugging what users request through URLs.
Syntax
Node.js
import { parse } from 'node:querystring';

const query = 'name=alice&age=25';
const parsed = parse(query);
console.log(parsed);

The parse function turns a query string into an object.

Each key-value pair in the string becomes a property in the object.

Examples
This example parses two parameters: color and size.
Node.js
import { parse } from 'node:querystring';

const query = 'color=blue&size=medium';
const result = parse(query);
console.log(result);
If a key has no value like 'flag', it becomes an empty string.
Node.js
import { parse } from 'node:querystring';

const query = 'flag&count=10';
const result = parse(query);
console.log(result);
Encoded spaces (%20) are automatically decoded to normal spaces.
Node.js
import { parse } from 'node:querystring';

const query = 'name=John%20Doe&city=New%20York';
const result = parse(query);
console.log(result);
Sample Program

This program takes a query string with product details and turns it into an object you can use in your code.

Node.js
import { parse } from 'node:querystring';

// Example query string from a URL
const urlQuery = 'product=book&price=15&available=true';

// Parse the query string into an object
const parsedQuery = parse(urlQuery);

// Show the parsed object
console.log(parsedQuery);
OutputSuccess
Important Notes

Query string values are always strings after parsing.

Use URLSearchParams for more modern and flexible parsing in Node.js.

Summary

Parsing query strings converts URL parameters into easy-to-use objects.

Node.js provides a simple parse function in the querystring module.

This helps your app understand user requests from URLs.

Practice

(1/5)
1. What is the main purpose of parsing query strings in Node.js?
easy
A. To validate the URL format
B. To encrypt URL parameters for security
C. To compress the URL for faster loading
D. To convert URL parameters into a JavaScript object for easy use

Solution

  1. Step 1: Understand query strings

    Query strings are parts of a URL that contain parameters after a question mark.
  2. Step 2: Purpose of parsing

    Parsing converts these parameters into a JavaScript object so the app can easily access values.
  3. Final Answer:

    To convert URL parameters into a JavaScript object for easy use -> Option D
  4. Quick Check:

    Parsing query strings = converting to object [OK]
Hint: Parsing query strings means turning URL data into objects [OK]
Common Mistakes:
  • Thinking parsing encrypts or compresses URLs
  • Confusing parsing with URL validation
  • Assuming parsing changes the URL itself
2. Which of the following is the correct way to import the querystring module in Node.js?
easy
A. const querystring = require('querystring');
B. import querystring from 'querystring';
C. const querystring = import('querystring');
D. require querystring = 'querystring';

Solution

  1. Step 1: Identify Node.js import syntax

    Node.js commonly uses require() to import modules in CommonJS style.
  2. Step 2: Check syntax correctness

    const querystring = require('querystring'); correctly imports the module.
  3. Final Answer:

    const querystring = require('querystring'); -> Option A
  4. Quick Check:

    Use require() to import modules in Node.js [OK]
Hint: Use require('module') to import in Node.js [OK]
Common Mistakes:
  • Using ES6 import syntax without setup
  • Incorrect assignment syntax
  • Confusing import with require
3. What will be the output of the following code?
const querystring = require('querystring');
const url = 'name=John&age=30';
const parsed = querystring.parse(url);
console.log(parsed);
medium
A. { name: 'John', age: '30' }
B. { 'name=John&age=30': '' }
C. SyntaxError
D. null

Solution

  1. Step 1: Use querystring.parse on URL string

    The parse function converts the query string into an object with keys and values.
  2. Step 2: Check output object

    It creates an object: { name: 'John', age: '30' } with string values.
  3. Final Answer:

    { name: 'John', age: '30' } -> Option A
  4. Quick Check:

    querystring.parse returns object from query string [OK]
Hint: parse() turns query string into key-value object [OK]
Common Mistakes:
  • Expecting numbers instead of strings for values
  • Confusing parse with stringify
  • Assuming parse returns null or error
4. Identify the error in this code snippet:
const querystring = require('querystring');
const url = 'name=Alice&city=Wonderland';
const parsed = querystring.parse(url);
console.log(parsed.name, parsed.city);
medium
A. querystring module is not imported correctly
B. parse() cannot parse strings without '?' prefix
C. No error, code works correctly
D. parsed object properties should be accessed with brackets

Solution

  1. Step 1: Check module import

    The module is imported correctly using require.
  2. Step 2: Check parse usage and property access

    parse() accepts query strings without '?' and properties accessed correctly with dot notation.
  3. Final Answer:

    No error, code works correctly -> Option C
  4. Quick Check:

    querystring.parse works on plain query strings [OK]
Hint: parse() works without '?' prefix in query string [OK]
Common Mistakes:
  • Thinking '?' is required in parse input
  • Assuming bracket notation is mandatory
  • Believing import syntax is wrong
5. You receive a URL query string with repeated keys: id=1&id=2&id=3. Using querystring.parse, what will the parsed object look like?
hard
A. { id: ['1', '2', '3'] }
B. { id: '3' }
C. { id: '1,2,3' }
D. SyntaxError due to duplicate keys

Solution

  1. Step 1: Understand querystring.parse behavior with duplicates

    querystring.parse keeps the last value for duplicate keys, overwriting previous ones.
  2. Step 2: Analyze given input

    For id=1&id=2&id=3, the last value '3' is kept.
  3. Final Answer:

    { id: '3' } -> Option B
  4. Quick Check:

    Duplicate keys keep last value in querystring.parse [OK]
Hint: Last duplicate key value overwrites previous in parse() [OK]
Common Mistakes:
  • Expecting array for duplicate keys
  • Thinking parse throws error on duplicates
  • Assuming values are concatenated as string