{}jsonpath.online

python jsonpath

Python JSONPath Evaluator

Validate JSONPath online and generate Python JSONPath code examples. Quickly debug JSONPath queries and copy results.

Input JSON

Live evaluation (300ms)

Result

JSON array of matches
[
  "Sayings of the Century",
  "Sword of Honour",
  "Moby Dick"
]

Generate Code

# pip install jsonpath-ng
import json
from jsonpath_ng.ext import parse

doc = json.loads("""...""")
expr = parse('$.store.book[*].title')
matches = [match.value for match in expr.find(doc)]
print(matches)

Python JSONPath: quick start

  • Write a JSONPath like $.store.book[*].
  • Use the evaluator above to validate results instantly.
  • Copy the generated Python snippet and plug in your JSON + path.

JSONPath Syntax Cheatsheet

TokenMeaningExample
$Root object/array$.store.book
@Current node (in filters)$.book[?(@.price < 10)]
*Wildcard$.store.*
..Recursive descent$..author
[n]Array index$.store.book[0]
[a,b]Union$.store.book[0,2]
[start:end]Slice$.store.book[0:2]
[?()]Filter expression$.store.book[?(@.category=='fiction')]

Python JSONPath FAQ

How do I use JSONPath in Python?

Use the code generator below to copy a Python snippet, then replace the JSON and JSONPath expression with your own.

What is JSONPath?

JSONPath is a query language for JSON. It helps you select and extract values from JSON documents using path-like expressions.

How do I filter arrays in JSONPath?

Use filter expressions like $.items[?(@.price < 10)] to select array elements by conditions.

Why does my JSONPath return empty results?

Common reasons include invalid JSON input, a typo in keys, mismatched array/object structure, or using a JSONPath syntax not supported by your library.

Does this tool support recursive descent?

Yes. Use .. to search for keys at any depth, for example $..author.