Skip to main content
Calctrove Calctrove

JSONPath Tester

JSONPath Tester

Paste input, adjust settings if needed, then run.

More actions
Input: manual
InputsText/FileManual input • Auto-updateWaiting

File input

Choose a file

Click, drop, or paste from clipboard.

Settings

1

Status

Waiting for output.

Health 55/100

JSONPath policy

Implements an advanced practical subset optimized for fast local evaluation and predictable error feedback.

Rules: 3
High risk: 1
Medium risk: 1
Low risk: 1
  • Supported selectors

    LOW risk

    Supports dot notation, bracket notation, array indexes (including negative), wildcard (*), recursive descent (`..key`, `..*`), slices (`[start:end:step]`), and basic filters (`[?(@.key>=value)]`).

  • Filter scope

    MEDIUM risk

    Filters are intentionally limited to simple key comparisons on object-array items using operators ==, !=, >, >=, <, <= and primitive literals.

  • Non-goals for predictability

    HIGH risk

    Script predicates, function calls, and full JSONPath dialect extensions are not supported in this local evaluator.

Result size
Live

0chars

Run to update output.

Copy result = output only. Copy report = output + settings.

Flow
  • Parse the JSON document and validate structure.
  • Execute the supported JSONPath subset (dot/bracket/index/wildcard) over document J.
  • Return one value for single matches or an array for multi-match wildcard results, with clear empty-result and syntax-error states.
Example

Worked example: extract all prices

  1. 1 Input JSON contains an items array with price fields.
  2. 2 Query: $.items[*].price
  3. 3 Result returns every matched numeric price in order.

You can confirm query behavior before coding it in production logic.

How
  1. Paste JSON document in the source panel.
  2. Enter a JSONPath query (for example: $.orders[*].id) and run evaluation.
  3. Review matched values and copy result set for downstream use.
Cases
  • Build extraction rules for automation pipelines.
  • Debug failing JSONPath selectors in tests.
  • Validate monitoring filters against real sample payloads.
Avoid
  • Using unsupported JSONPath features such as filters, slices, or recursive descent in this subset-focused tool.
  • Assuming empty results always mean syntax errors.
  • Testing query logic on unrealistically small sample payloads.
FAQ
Does jsonpath tester send my input to a server?

No. JSONPath Tester handles the input in your browser whenever possible, so routine conversions, previews, and copy actions stay on your device instead of being sent to Calctrove servers.

What if no nodes match my JSONPath query?

You get an empty result state, which is different from parser or syntax errors.

Can I test nested array selectors here?

Yes. Use selectors like $.a[*].b[*].c and verify the match list directly.

Does this support the full JSONPath specification?

No. It targets a practical subset: dot keys, bracket keys/indexes, and wildcard * selectors.

Switch
Switch12