These are standard JSONPath features that work across all JSONPath implementations. The next sections cover QuivaWorks-specific extensions.
Wildcard Selection
Select all elements at a specific level using the wildcard operator[*].
- Array Wildcard
- Object Wildcard
- Nested Wildcard
Data
Mapping
Result
Recursive Descent
Search for properties at any depth in the structure using.. (double dot).
- Find All Occurrences
- Deep Search
Data
Mapping
Result
email properties regardless of nesting level.Array Slicing
Extract portions of arrays using slice notation[start:end:step].
- Basic Slicing
- Negative Indexes
- Step Values
Data
Examples
Results
Slice Syntax
- start - Index to begin at (inclusive, default: 0)
- end - Index to stop at (exclusive, default: array length)
- step - Increment between items (default: 1)
Parent Selector
Get the parent object of a matched item using the^ operator.
- Basic Parent Access
- Filter Then Get Parent
Data
Mapping
^ returns the parent array containing the expensive items.The parent selector is useful when you need to reference the container of filtered items, not just the items themselves.
Property Name Selector
Get property names instead of values using the~ operator.
- Object Property Names
- Array Index Names
- Nested Property Names
Data
Mapping
Result
Bracket Notation
With JSON path, you can access properties with special characters using bracket notation['property']. QuivaWorks allows you to access properties with special characters without using this notation, however if you are experiencing unexpected results you can still use this notation.
- Spaces in Names
- Special Characters
- Numeric String Keys
Data
Mapping
Result
Escaping Special Characters
Use backticks to escape property names that might conflict with JSONPath operators.- Dollar Sign Property
- At Sign Property
- Literal Backtick
Data
Mapping
$ would be interpreted as the root operator.Important Notes
Array Indexing
Array Indexing
JSONPath uses 0-based indexing like JavaScript (not 1-based like XPath):
- First element:
[0] - Second element:
[1] - Last element:
[-1] - Second to last:
[-2]
Case Sensitivity
Case Sensitivity
All JSONPath expressions are case-sensitive:
$.user.Name≠$.user.name$.NODE_ID≠$.node_id- Property names must match exactly
Return Values
Return Values
Understanding what JSONPath returns:
- Single property: Returns the value directly
- Wildcard
[*]: Always returns an array - Filter
[?()]: Always returns an array - Recursive
..: Always returns an array - Slice
[:]: Always returns an array - Non-existent path: Property is removed from output entirely
Performance
Performance
Fast operations:
- Direct property access:
$.node.property - Array index:
$.node.items[0] - Specific paths:
$.node.nested.property
- Recursive descent:
$..property - Complex filters:
$.items[?(@.x>5 && @.y<10)] - Multiple wildcards:
$..*.*[*]
Common Patterns
- Get All Values
- Slice Arrays
- Get Structure
Try It Yourself
1
Create Sample Data
Add a node that returns complex nested JSON data
2
Use Wildcards
Try
[*] to select all items in an array3
Try Recursive Search
Use
..propertyName to find all occurrences4
Experiment with Slicing
Practice array slicing with different start:end:step combinations
5
Test in Debugger
Verify results in the Flow Debugger
What’s Next?
Pipe Operator
Learn QuivaWorks’ string concatenation operator
Filters & Expressions
Filter and query data with conditional expressions
Examples
See real-world usage patterns
Reference
Complete syntax reference
Questions? Check the Reference or visit our Help Center.