{}jsonpath.online

java jsonpath

How to use JSONPath in Java

Validate JSONPath online and generate Jayway JsonPath code for Java. Test filters, wildcards, and recursive descent with instant results.

Input JSON

Live evaluation (300ms)

Result

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

Generate Code

// Maven: com.jayway.jsonpath:json-path
import com.jayway.jsonpath.JsonPath;

String json = /* your JSON string */;
Object result = JsonPath.read(json, "$.store.book[*].title");
System.out.println(result);

Java JSONPath: quick start

  • Write a JSONPath like $.store.book[*].
  • Use the evaluator above to validate results instantly.
  • Copy the generated Java 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')]

Java JSONPath FAQ

How do I use JSONPath in Java?

Use the code generator below to copy a Java 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.