QiLing Tools

🗺️JSONPath Tester Online - Query JSON with Filters, Slices and a Cheat Sheet

JSONPath is to JSON what XPath is to XML: a compact expression language for locating data, used by Jayway JsonPath, kubectl -o jsonpath, Postman, JMeter and countless API testing and low-code tools. Paste your JSON, type an expression, and every match is listed in real time with its normalized path (such as $.store.book[2].title) and value; copy a single path or all results as a JSON array. The evaluator is hand-written to RFC 9535 semantics and never uses eval. It supports the root $, dot and bracket member access, negative indexes, [start:end:step] slices including reverse steps, the * wildcard, recursive descent .., unions [a,b] and filter expressions ?(...) with == != < <= > >=, && || !, parentheses, regex matching =~ /…/i, comparisons against root values via $, and the length(), count(), match() and search() functions. Syntax errors point to the exact character. The cheat sheet below the results runs each example with one click, which makes it a quick way to learn or debug JSONPath.

Free · No sign-up · Runs in your browserLast updated:

Loading tool...

How to use JSONPath Tester

  1. 1Paste your JSON (or use the sample)
  2. 2Type a JSONPath expression or click an example in the cheat sheet
  3. 3Review matching paths and values, then copy a path or all results

FAQ

How do I write a JSONPath filter expression?
Filters go inside brackets and start with ?, with @ standing for the current element: $..book[?(@.price < 10)] selects books cheaper than 10, $..book[?(@.isbn)] selects books that have an isbn, and $..book[?(@.price < 10 && @.category == 'fiction')] combines two conditions. You can also use || for or, ! for not, =~ /regex/i for pattern matching and $.path to compare against a value elsewhere in the document.
What is the difference between .. and *?
* selects all direct children of the current node, so $.store.* returns the book array and the bicycle object. .. searches at any depth, so $..price finds the price of every book and the bicycle. They combine too: $..* returns every node in the document.
Are results the same as Jayway or Kubernetes JSONPath?
The core syntax — root, dot and bracket access, indexes, slices, wildcards, recursive descent and filters — behaves the same across implementations. This tool follows RFC 9535 and also accepts the popular Jayway extras .length and =~ regex. Implementations differ on edge cases such as comparing mixed types or script expressions like (@.length-1), which this tool deliberately does not execute for safety.
Is my JSON uploaded?
No. Parsing and querying happen entirely in your browser, and filter expressions are evaluated by a small built-in parser rather than eval, so sensitive API data never leaves your computer.