{}jsonpath.online

php jsonpath

PHP JSONPath Parser

Validate JSONPath online and generate PHP JSONPath code templates. Debug JSONPath queries with live results.

Input JSON

Live evaluation (300ms)

Result

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

Generate Code

// composer require softcreatr/jsonpath
<?php

use SoftCreatR\JsonPath\JsonPath;

$json = json_decode('{"key":"value"}', true);
$result = (new JsonPath())->find($json, '$.store.book[*].title')->data();
var_dump($result);

PHP JSONPath: quick start

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

PHP JSONPath FAQ

How do I use JSONPath in PHP?

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