JSON Path Finder

Navigate and extract data from JSON using JSONPath expressions. Query nested structures and find values quickly.

100% client-side No signup Free forever
// how to use

How to Use JSON Path Finder

  1. Paste your JSON in the input area
  2. Click Parse JSON
  3. Browse the tree view
  4. Click any value to get its path
  5. Copy the path to use in your code
// about

About JSON Path Finder

Complex JSON structures from APIs can contain deeply nested data that's difficult to access. JSONPath provides XPath-like syntax for querying JSON, letting you extract exactly the data you need from any JSON document.

JSONPath Syntax Basics

JSONPath uses intuitive expressions:

  • $: Root object
  • .property or ['property']: Access object properties
  • [n]: Access array element by index
  • [*]: Wildcard - all elements
  • ..: Recursive descent - search all levels

Practical Query Examples

$.users[0].name: First user's name. $.users[*].email: All user emails. $..price: All prices anywhere in document. $.products[?(@.price < 100)]: Products under $100.

API Response Navigation

Modern APIs return complex nested JSON. Instead of writing verbose code to traverse the structure, JSONPath expressions extract what you need in a single query. This tool helps you develop and test these expressions before implementing in code.

Debugging and Development

Paste API responses into the tool and experiment with JSONPath queries to understand the data structure. Copy working expressions into your application code for reliable data extraction.

// faq

Frequently Asked Questions

What is JSONPath?
JSONPath is a query language for JSON, similar to XPath for XML. It lets you extract specific values from complex JSON structures. "$..name" finds all name properties at any depth. "$.users[0].email" gets the first user's email. Essential for working with API responses.
What are the basic JSONPath operators?
$ is root, . accesses child, [n] is array index, [*] is all elements, .. is recursive descent, [start:end] is array slice, ?() is filter expression. Example: "$.store.book[?(@.price<10)]" finds books under $10. We provide interactive examples.
How do I select nested properties?
Chain dot notation: $.user.address.city for nested objects. For arrays: $.users[0].name for first user's name, $.users[*].name for all users' names. Our tool highlights matches in the original JSON as you build paths.
What is recursive descent (..)?
Double-dot (..) searches all descendants, not just immediate children. "$.store..price" finds all price properties anywhere under store, regardless of nesting depth. Useful when you don't know exact structure or want all instances.
How do I filter array elements?
Filter expressions use ?(): "$[?(@.age > 21)]" selects objects where age > 21. @ refers to current element. Operators include: ==, !=, <, >, <=, >=, && (and), || (or). "$.books[?(@.author == 'Tolkien')]" finds Tolkien's books.
Are there different JSONPath implementations?
Yes, JSONPath syntax varies slightly between libraries. Goessner's original, Stefan Goessner's JavaScript, JayWay (Java), and others may differ in filter syntax or features. Our tool notes implementation differences and tests against common variants.