DA0-002 Data Acquisition and Preparation Practice Question
Exhibit
Refer to the exhibit.
{
"customers": [
{"id": 1, "name": "John Doe", "email": "john@example.com"},
{"id": 2, "name": "Jane Smith", "email": "jane@example.com"}
],
"status": "success"
}A data analyst receives the above JSON snippet from a web API. The analyst needs to extract the email addresses for all customers. Which JSONPath expression should be used?
⚠ Common exam trap
Many exam-takers confuse the deep scan operator `..` with the array wildcard `[*]`, thinking `$..email` will neatly extract all customer emails, but it actually retrieves every `email` property at any depth, including from non-customer objects, leading to incorrect data extraction.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
$.customers[*].email
The JSONPath expression `$.customers[*].email` uses the wildcard `[*]` to select all elements in the `customers` array and then accesses the `email` property of each element. This matches the requirement to extract email addresses for all customers from the JSON snippet.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
$.customers[0].email
Why it's wrong here
Targeting index 0 retrieves only the first customer's email, leaving the remaining array elements unreturned, so the extraction is incomplete. The wildcard form `$.customers[*].email` is needed to project every element. Indexing is tempting because it is the correct approach when a single, known-position record must be isolated.
- ✗
$..email
Why it's wrong here
The recursive descent operator `..` searches every level of the document, so `$..email` would also return email values from nested objects such as billing or support contacts, not just customers. It is tempting because recursive descent is designed for unknown or deeply nested structures; it would be correct if the email fields' depth were unpredictable.
- ✓
$.customers[*].email
Why this is correct
The wildcard `[*]` iterates every element of the `customers` array, while `.email` selects that key from each object, returning all addresses in one expression. This satisfies the stem's requirement to extract email addresses for all customers, not just a single indexed entry.
- ✗
$.customers.email
Why it's wrong here
Dot notation on an array requires an index or wildcard; $.customers.email does not traverse array elements, so it yields no result. It is correct for object properties, where the key sits directly on the parent.
About these practice questions
Courseiva writes every DA0-002 question from scratch — 1,004 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DA0-002 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DA0-002 exam.