JSON Formatter & ValidatorSpecialized Version
{ }

JSON Path Finder

Find paths in JSON

JSON Path Finder

Navigate and extract data from complex JSON structures using path notation. Find the exact path to any element in your JSON for use in code, queries, or data extraction.

JSON Path Notation

| Notation | Meaning | Example | $.propertyRoot property$.name .propertyChild property$.user.name [n]Array index$.items[0] [*]All elements$.items[*] | ..property | Recursive descent | $..name |

Path Examples

``javascript const data = { user: { name: "John", email: "john@example.com", orders: [ { id: 1, total: 99.99 }, { id: 2, total: 149.99 } ] } };

// Paths to values: // $.user.name → "John" // $.user.email → "john@example.com" // $.user.orders[0].id → 1 // $.user.orders[1].total → 149.99 // $.user.orders[*].total → [99.99, 149.99] `

Path Implementation

`javascript // Simple path extraction function getValueByPath(obj, path) { return path .replace(/\[(d+)\]/g, '.$1') .split('.') .filter(Boolean) .reduce((acc, key) => acc?.[key], obj); }

// Usage getValueByPath(data, 'user.orders[0].total'); // 99.99 getValueByPath(data, 'user.name'); // "John" `

Using JSON Path Libraries

`javascript // JSONPath library const jsonpath = require('jsonpath');

// Query examples jsonpath.query(data, '$.user.name'); // ["John"]

jsonpath.query(data, '$..total'); // [99.99, 149.99]

jsonpath.query(data, '$.user.orders[?(@.total > 100)]'); // [{ id: 2, total: 149.99 }] ``

Common Use Cases

| Use Case | Path Example | Access nested data$.data.users[0].profile API responses$.response.results[*] Configuration$.settings.database.host | Test assertions | expect($.data.id).toBe(1) |

Use this tool to find the correct path for any JSON element.

Frequently Asked Questions

What is JSON Path?

JSON Path is a query language for extracting data from JSON, similar to XPath for XML. It uses dot notation ($.user.name) and bracket notation ($.items[0]) to navigate through JSON structures. Libraries like jsonpath implement advanced features like wildcards, filters, and recursive descent.

What does $.. mean in JSON Path?

The double-dot (..) means recursive descent—search all descendants for the property. For example, $..name finds all "name" properties anywhere in the JSON, regardless of depth. This is useful when you don't know the exact path or want to extract all matching values.

How do I extract all items from a JSON array?

Use [*] to select all elements: $.items[*] returns all items in the array. You can also chain properties: $.items[*].name returns the name of every item. Most JSON Path libraries return results as an array.

Related Tools

Explore other tools you might find useful:

Related Calculators