0
0
Expressframework~20 mins

Query string parsing in Express - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Query String Parsing Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
How does Express parse query strings by default?
Consider an Express route handler receiving a URL with query parameters like ?name=John&age=30. What will req.query contain?
Express
app.get('/user', (req, res) => {
  res.json(req.query);
});
A{"name": "John", "age": "30"}
B{"name": "John", "age": 30}
C["name", "John", "age", "30"]
DAn empty object {}
Attempts:
2 left
💡 Hint
Express parses query strings into an object with string values by default.
📝 Syntax
intermediate
2:00remaining
Which code correctly parses nested query strings in Express?
You want to parse a query string like ?user[name]=Alice&user[age]=25 into a nested object. Which Express setup achieves this?
Aapp.use(express.urlencoded({ extended: false }));
Bapp.use(express.urlencoded({ extended: true }));
Capp.use(express.json());
Dapp.use(express.query({ extended: true }));
Attempts:
2 left
💡 Hint
Look for middleware that supports nested objects in URL-encoded data.
🔧 Debug
advanced
2:00remaining
Why does req.query not parse arrays as expected?
Given the URL ?colors=red&colors=blue, req.query.colors is a string instead of an array. What causes this behavior?
Express
app.get('/colors', (req, res) => {
  res.json(req.query.colors);
});
AThe server needs to use express.json() middleware to parse arrays.
BThe URL is malformed; arrays require brackets like colors[]=red&colors[]=blue.
CExpress default query parser returns the last value as a string, not an array.
Dreq.query is always a string regardless of query parameters.
Attempts:
2 left
💡 Hint
Express default parser does not convert repeated keys into arrays.
🧠 Conceptual
advanced
2:00remaining
What is the effect of using a custom query parser in Express?
If you configure Express with app.set('query parser', 'simple') or app.set('query parser', 'extended'), how does it affect req.query?
ABoth options produce identical parsing results.
B'simple' parses JSON strings; 'extended' parses XML strings.
C'simple' disables query parsing; 'extended' enables it.
D'simple' uses the built-in querystring module; 'extended' uses qs for nested parsing.
Attempts:
2 left
💡 Hint
Express supports two query parsers with different capabilities.
state_output
expert
3:00remaining
What is the output of this Express route with complex query string?
Given the route below and the URL /search?filters[price][min]=10&filters[price][max]=100&tags=red&tags=blue, what is the JSON response?
Express
app.use(express.urlencoded({ extended: true }));
app.get('/search', (req, res) => {
  res.json(req.query);
});
A{"filters": {"price": {"min": "10", "max": "100"}}, "tags": ["red", "blue"]}
B{"filters": {"price": {"min": "10", "max": "100"}}, "tags": "blue"}
C{"filters": {"price": {"min": 10, "max": 100}}, "tags": "blue"}
D{"filters": {}, "tags": ["red", "blue"]}
Attempts:
2 left
💡 Hint
express.urlencoded({ extended: true }) parses nested objects and repeated keys as arrays.