JSONPath Tester

Test JSONPath expressions against any JSON document. Results appear instantly in your browser — nothing is sent to a server.

Ctrl+Enter to evaluate

JSONPath Quick Reference

Expression Meaning
$Root of the document
.keyChild key (dot notation)
['key']Child key (bracket notation — use for keys with spaces)
[0]Array index (zero-based)
[*]All array elements
[0,2]Specific array indices
[0:2]Array slice (indices 0 and 1)
..Recursive descent (search all descendants)
[?(@.price < 10)]Filter expression

Common Examples

  • $.store.book[*].author — all book authors
  • $..author — all author fields anywhere in the document
  • $.store.book[0] — first book object
  • $.store.book[?(@.price < 10)] — books cheaper than $10
  • $.store.book[-1] — last book (JSONPath Plus extension)
  • $.store.* — all values under store

Frequently Asked Questions

What is JSONPath?

JSONPath is a query language for JSON, analogous to XPath for XML. It lets you select nodes from a JSON document using path expressions. The standard is defined in RFC 9535 (published 2024). Common uses include extracting values from API responses and configuring monitoring rules.

What is the difference between JSONPath and JSONPath Plus?

JSONPath Plus is a JavaScript library that extends standard JSONPath with additional features: parent selectors (^), type selectors (@string(), @number()), and arithmetic in filter expressions. This tool uses JSONPath Plus, so all standard expressions work, plus extended syntax.

Why does my expression return an array?

JSONPath always returns an array of matches, even when only one value matches. This is by design — a path expression like $.name returns ["John"], not "John". If you need the scalar value, take the first element of the result array.

Is my JSON data sent to a server?

No. JSONPath evaluation happens entirely in your browser using the JSONPath Plus JavaScript library loaded from a CDN. Your JSON data never leaves your device.